bug leads to representation compromise
as i work through an acceptable implementation of "multiple representations" for the same resource, i've come up against a bug in my library that supports XInclude. while the spec allows for the inclusion of an
accept attribute, the library i am using fails to honor this when yo are using a request that is authenticated [sigh]. since much of my exyus engine uses HTTPAuth, this renders the
accept and the
accept-language attributes unavailable to me.
so i came up with a compromise. now, you can pass a querystring argument that will 'override' the
Accept header -
?_accept=text/xml. it's not ideal, but it works fine. it has the added benefit of allowing me to easily change representations using a common browser. i have more than the
Accept header available to me now!
btw - i could also implement "extension sniffing" for document ids. in other words, use the file extension as a way to override the
Accept header. however, i think this will get in the way in some cases. in other words, i do not want to *force* the use of file extensions in order to solve this bug. my solution makes for some messier URLs in some limited cases (XInclude and using a simple browser), but maintains the proper implementation support for all other cases (using the
Accept header for WWW libraries, Ajax, etc.)