eyxus regexp updating

2007-12-07 @ 00:12#

i spent time going through the exyus codebase and re-working the regexp support. it's an entirely internal thing, but it will affect the way resources will be mapped to URLs in the future. i needed to do this to remove the final references (in code) to the .xcs file tail. this is used by IIS server to map requests to the exyus assemblies. IIS needs a way to relate requests to assemblies and (currently) does this using the file tails. there is the option of mapping *all* requests to a assembly, but that's overkill and messy.

so the regexp used to map requests to classes used to look like this:

[UriPattern(@"/blogging/categories/?([\d]*).xcs\??(.*)$")]

now it looks like this:

[UriPattern(@"/blogging/categories/([\d]*)?(?:\?)?(?:.*)?")]

as yo can see, he reference to .xcs is now gone. i've also sweetened the expresion to properly map out the parts of the query string. this is just an attempt to be thorough. i;m not sure it's needed at this time.

the other part of this work led to breaks in my XSLT stylesheet for my blog demo. i'd been depending on some quirks in my regexp and the existence of the tail in order to provide the proper view of the blog data. after cleaning up the regexp, these quirks were gone [bummer]. in the long run it's good news - the expressions are better and the XSLT will be cleaner, too. however, in the short run, i am spending a bunch of time re-working the XSLT document to fix the bugs. oh well, i needed the practice, eh?

i still need to clean up some other aspects of the SqlXmlHandler code in order to allow it to properly support HTTP PUT requests as well as bring the SqlXmlHandler code into line when it comes to validating the contents of the query line. this is my project for teh weekend.

code