Inactive

Project Summary

  Analyzed 6 days ago based on code collected 6 days ago.

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"
};
}
}

}

Share

In a Nutshell, exyus...

Languages

XML
80%
C#
20%
SQL
<1%
 
 

Lines of Code

 

Activity

30 Day Summary Apr 19 2013 — May 19 2013

12 Month Summary May 19 2012 — May 19 2013

Community

Ratings

Be the first to rate this project
 
Click to add your rating
 
Review this Project!
 
 
 

Creative Commons License 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.