Skip to content

Instantly share code, notes, and snippets.

@ahall
Created September 13, 2012 00:22
Show Gist options
  • Save ahall/3710955 to your computer and use it in GitHub Desktop.
Save ahall/3710955 to your computer and use it in GitHub Desktop.
public class BlogPost
{
public string Name { get; set; }
public int Age { get; set; }
}
public class BlogModule : SinatraModule // Or whatever name we come up with
{
// This maps to /blogposts/edit/{id}
[Route("/edit/{id}", ApplyTo.Get | ApplyTo.Post)]
public object Edit(int id, Post post)
{
}
[Route("/blah/{name}/{type}", ApplyTo.Get | ApplyTo.Post)]
public void Blah(string name, string type)
{
var post = this.Deserialize<BlogPost>();
// Do something with blogpost
}
}
public class AppHost : AppHostHttpListenerBase
{
public override void Configure(Funq.Container container)
{
Routes.Add(MyService); // Register all regular services which take priority.
// Register the module under prefix /blogposts
RegisterSinatraModule(typeof(BlogModule, "/blogposts"));
}
}
@mythz
Copy link

mythz commented Sep 13, 2012

public class BlogPost
{
public string Name { get; set; }
public int Age { get; set; }
}

public class BlogModule : ExpressModule // Or whatever name we come up with
{
    // This maps to /blogposts/edit/{id}                                                                                                                                                       
    [Route("/edit/{id}", ApplyTo.Get | ApplyTo.Post)]
    public object Edit(Request request)
    {
       int id = request.Id;
       int id = request["Id"].ToInt();
       int query = base.Request.QueryString["query"];
    }

    [Route("/blah/{name}/{type}", ApplyTo.Get | ApplyTo.Post)]
    public void Blah(Request request)
    {
        var post = request.As<BlogPost>();
    }
}

public class AppHost : AppHostHttpListenerBase
{
    public override void Configure(Funq.Container container)
    {
        Routes.Add(MyService); // Register all regular services which take priority.

        // Register the module under prefix /blogposts
        RegisterExpressModules(typeof(BlogModule).Assembly);
    }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment