Skip to content

Instantly share code, notes, and snippets.

@Grummle
Created June 6, 2012 23:13
Show Gist options
  • Save Grummle/2885425 to your computer and use it in GitHub Desktop.
Save Grummle/2885425 to your computer and use it in GitHub Desktop.
document.write('<link rel="stylesheet" href="https://gist.github.com/stylesheets/gist/embed.css"/>')
document.write('<div id=\"gist-2854760\" class=\"gist\">\n\n <div class=\"gist-file\">\n <div class=\"gist-data gist-syntax\">\n <div class=\"gist-highlight\"><pre><div class=\'line\' id=\'LC1\'><span class=\"k\">using<\/span> <span class=\"nn\">System<\/span><span class=\"p\">;<\/span><\/div><div class=\'line\' id=\'LC2\'><span class=\"k\">using<\/span> <span class=\"nn\">System.Diagnostics<\/span><span class=\"p\">;<\/span><\/div><div class=\'line\' id=\'LC3\'><span class=\"k\">using<\/span> <span class=\"nn\">System.Web<\/span><span class=\"p\">;<\/span><\/div><div class=\'line\' id=\'LC4\'><span class=\"k\">using<\/span> <span class=\"nn\">System.Web.Routing<\/span><span class=\"p\">;<\/span><\/div><div class=\'line\' id=\'LC5\'><span class=\"k\">using<\/span> <span class=\"nn\">YourApp.Infrastructure.Framework<\/span><span class=\"p\">;<\/span><\/div><div class=\'line\' id=\'LC6\'><br/><\/div><div class=\'line\' id=\'LC7\'><span class=\"k\">namespace<\/span> <span class=\"nn\">YourApp.Web.UI<\/span><\/div><div class=\'line\' id=\'LC8\'><span class=\"p\">{<\/span><\/div><div class=\'line\' id=\'LC9\'>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">public<\/span> <span class=\"k\">class<\/span> <span class=\"nc\">RestfulRouteModule<\/span> <span class=\"p\">:<\/span> <span class=\"n\">IHttpModule<\/span><\/div><div class=\'line\' id=\'LC10\'>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\'line\' id=\'LC11\'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">public<\/span> <span class=\"k\">void<\/span> <span class=\"nf\">Init<\/span><span class=\"p\">(<\/span><span class=\"n\">HttpApplication<\/span> <span class=\"n\">context<\/span><span class=\"p\">)<\/span><\/div><div class=\'line\' id=\'LC12\'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\'line\' id=\'LC13\'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">context<\/span><span class=\"p\">.<\/span><span class=\"n\">LogRequest<\/span><span class=\"p\">+=<\/span> <span class=\"k\">new<\/span> <span class=\"n\">EventHandler<\/span><span class=\"p\">(<\/span><span class=\"n\">context_LogRequest<\/span><span class=\"p\">);<\/span><\/div><div class=\'line\' id=\'LC14\'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\'line\' id=\'LC15\'><br/><\/div><div class=\'line\' id=\'LC16\'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">void<\/span> <span class=\"nf\">context_LogRequest<\/span><span class=\"p\">(<\/span><span class=\"kt\">object<\/span> <span class=\"n\">sender<\/span><span class=\"p\">,<\/span> <span class=\"n\">EventArgs<\/span> <span class=\"n\">e<\/span><span class=\"p\">)<\/span><\/div><div class=\'line\' id=\'LC17\'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\'line\' id=\'LC18\'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">HttpApplication<\/span> <span class=\"n\">app<\/span> <span class=\"p\">=<\/span> <span class=\"p\">(<\/span><span class=\"n\">HttpApplication<\/span><span class=\"p\">)<\/span><span class=\"n\">sender<\/span><span class=\"p\">;<\/span><\/div><div class=\'line\' id=\'LC19\'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">HttpContext<\/span> <span class=\"n\">context<\/span> <span class=\"p\">=<\/span> <span class=\"n\">app<\/span><span class=\"p\">.<\/span><span class=\"n\">Context<\/span><span class=\"p\">;<\/span><\/div><div class=\'line\' id=\'LC20\'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">context<\/span><span class=\"p\">.<\/span><span class=\"n\">Request<\/span><span class=\"p\">.<\/span><span class=\"n\">ServerVariables<\/span><span class=\"p\">[<\/span><span class=\"s\">&quot;ROUTE_PATTERN&quot;<\/span><span class=\"p\">]<\/span> <span class=\"p\">=<\/span> <span class=\"n\">context<\/span><span class=\"p\">.<\/span><span class=\"n\">Request<\/span><span class=\"p\">.<\/span><span class=\"n\">RequestContext<\/span><span class=\"p\">.<\/span><span class=\"n\">RouteData<\/span><span class=\"p\">.<\/span><span class=\"n\">Route<\/span><span class=\"p\">.<\/span><span class=\"n\">IsNotNull<\/span><span class=\"p\">()<\/span> <span class=\"p\">?<\/span> <span class=\"p\">((<\/span><span class=\"n\">Route<\/span><span class=\"p\">)<\/span><span class=\"n\">context<\/span><span class=\"p\">.<\/span><span class=\"n\">Request<\/span><span class=\"p\">.<\/span><span class=\"n\">RequestContext<\/span><span class=\"p\">.<\/span><span class=\"n\">RouteData<\/span><span class=\"p\">.<\/span><span class=\"n\">Route<\/span><span class=\"p\">).<\/span><span class=\"n\">Url<\/span> <span class=\"p\">:<\/span> <span class=\"n\">context<\/span><span class=\"p\">.<\/span><span class=\"n\">Request<\/span><span class=\"p\">.<\/span><span class=\"n\">Url<\/span><span class=\"p\">.<\/span><span class=\"n\">LocalPath<\/span><span class=\"p\">;<\/span><\/div><div class=\'line\' id=\'LC21\'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\'line\' id=\'LC22\'><br/><\/div><div class=\'line\' id=\'LC23\'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">public<\/span> <span class=\"k\">void<\/span> <span class=\"nf\">Dispose<\/span><span class=\"p\">()<\/span><\/div><div class=\'line\' id=\'LC24\'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\'line\' id=\'LC25\'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\'line\' id=\'LC26\'>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\'line\' id=\'LC27\'><span class=\"p\">}<\/span><\/div><\/pre><\/div>\n <\/div>\n\n <div class=\"gist-meta\">\n <a href=\"https://gist.github.com/raw/2854760/234070f1c618702313b2c31ca308e54ff0640354/RestfulRouteModule.cs\" style=\"float:right;\">view raw<\/a>\n <a href=\"https://gist.github.com/2854760#file_restful_route_module.cs\" style=\"float:right;margin-right:10px;color:#666\">RestfulRouteModule.cs<\/a>\n <a href=\"https://gist.github.com/2854760\">This Gist<\/a> brought to you by <a href=\"http://github.com\">GitHub<\/a>.\n <\/div>\n <\/div>\n<\/div>\n')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment