ExyusThe goal is to create a light-weight highly-scalable HTTP server framework that is fully REST-compliant. The code will be built using C# (on Win32 to start) and have optional dependencies on SQL-based database (MS SQL to start).
Version 0.06 Posted(2008-03-16) This version has the database support (via XmlSqlResource) built-in. Now you can use MS-SQL Server (2005+) as a data store. Check out the User Group Data Example to see it in action.
Latest NewsCheck out the latest demos at the live site:
Codebreaker Game User Group Data Example Server-side Mashup ZipCheck TaskList
Also check out the latest tutorials:
UGData Tutorial Server-Side Mashup Tutorial TaskList Desktop Client TaskList Tutorial
FeaturesThe current version of Exyus has the following features:
Resource-oriented coding - you create inbound endpoints by creating resource classes Built-in support for standard HTTP Methods (GET,HEAD,PUT,POST,DELETE,OPTION as resource methods) Url-Mapping - Resource classes can support multiple Uri patterns (via regular expressions) Multiple Representations - The same resource can support any number of Content Types (XML, JSON, Atom, HTML, etc.) Caching Support - Mark your resource to support Validation and/or Expiration caching Authentication - Supports Digest and Basic Auth Authorization - Map Urls and HTTP Methods for user access Compression - Automatically supports gzip/deflate per client headers. Built-in HTTPClient - Perform direct HTTP requests against other HTTP servers.
Quick ExampleUsing the Exyus engine means you can define a read/write resource that allows live editing (tested w/ Amaya browser) with just the following C# code:
using System;
using Exyus.Web;
namespace Exyus.Editable
{
// full read/write via PUT w/ ETags
[UriPattern(@"/editable/(?[^/?]*)?(?:\.xcs)(?:[?])?(?:.*)?")]
[MediaTypes("text/html","application/json","application/atom+xml")]
public class editPages : XmlFileResource
{
public editPages()
{
this.ContentType = "text/html";
this.UpdateMediaTypes = new string[] { "text/html" };
this.AllowPost = false;
this.AllowCreateOnPut = true;
this.DocumentsFolder = "~/documents/editable/";
this.StorageFolder = "~/storage/editable/";
this.XHtmlNodes = new string[] { "//body" };
this.LocalMaxAge = 600;
this.ImmediateCacheUriTemplates = new string[]
{
"/editable/.xcs",
"/editable/{docid}.xcs"
};
}
}
}
30 Day Summary Apr 19 2013 — May 19 2013
|
12 Month Summary May 19 2012 — May 19 2013
|
Copyright
©
2013
Black Duck Software, Inc.
and its contributors, Some Rights Reserved. Unless otherwise marked, this work is licensed under a
Creative Commons Attribution 3.0 Unported License
. Ohloh
®
and the Ohloh logo are trademarks of
Black Duck Software, Inc.
in the United States and/or other jurisdictions. All other trademarks are the property of their respective holders.