The HTTP binding documentation (http://www.waterken.com/dev/Web/HTTP/)
provides a "NotFound GET response" example yielding a 404 return code
for a resource that doesn't exist.
However, I've found that XSLT document() invocations that return a 404
code break XSLT rendering in Internet Explorer. For instance, this
happens in the wiki when attempting to transclude an element which
does not yet exist. When the IE XSLT renderer encounters a 404, it
simply halts processing with an error rather than processing the 404
Firefox and the server-side XSLT renderer both process the body and
display "Term does not exist", as I would expect.
So, either I have the correct behaviour, and IE is simply broken in
this regard, or Waterken has adopted a workaround for IE's sake, which
is to return the 200 return code so that NotFound can be processed
I couldn't find any references to 404 in the
org.waterken.amp.http.Server, but a non-existant key throws a
FileNotFoundException in _process(), which is then wrapped in a
Smashed instance, and passed to the resolver. I imagine Smashed then
undergoes special processing, but I'm not sure where to look for that.
Any clarification on NotFound / 404 behaviour would be much appreciated.