tim ewald answers don box

2007-08-27 @ 12:23#

tim ewald's answer to don box's question is pretty enlightening to me.

I want a UriTemplate matching layer (with a back-door for arbitrary regex's) that works on ASP.NET or HttpListener, abstracting away the differences between their respective context/request/response objects (which is just annoying). And I want a text-templating engine for output, a la NVelocity, with editor support. I'm close to building my own, since I already have the first half, with NVelocity, but haven't had time yet. (Yes, I've looked at monorail, but it feels like more than I want and I don't think it integrates with HttpListener.)

I'd like all that to run on top of 2.0 if possible, or at least in a kit that runs on XP and 2003, even if it requires 3.0 or 3.5. And I'd like it in the next 6 months or so (which I know is a pipe dream).

tim ewald, (Don asked for input...)

as one who spends all his time on the Windows/.NET stack, much of this hits close to home. in fact, it's alot like the kind of things i;m trying to do with my exyus framework. as i am working in .NET 2.0, there are some of the limitations tim mentions, but i'm getting quite far along, imho. since i see REST as a style, not an API, the quirks of .NET are not really a problem.

at this stage of the game, i can define a URI template using regex; associate that URI template with a set of HTTP methods; animate those methods with XSD/XSLT/XML documents to handle processing the URI parts, validating the Entity-Body, and producing the desired responses. I can define custom handlers that know how to deal with HTTP headers for caching, compression, and other issues. i even have a couple default handlers working for XmlFile resources, SqlXml reources, simple GET/POST HTML templates, and basic GET resources such as display pages.

there's more to do, but i think i'm getting close.

code