Hello,
this is an example of setting a 404 by overwriting what the REST
annotations would produce. I had to gathered pieces of specs
together in order to have it working. Please tell me if I'm missing
the documentation that cover this. Feedback are welcome.
declare %rest:path("/categories/{$category}")
%rest:GET
%rest:produces("application/atomcat+xml")
%output:omit-xml-declaration("no")
%output:media-type("application/atomcat+xml")
function page:category($category as xs:string) {
if (db:exists('categories', $category || '.xml')) then
doc('categories/' || $category || '.xml')
else
let $reason := "Category scheme not found" return
<rest:response>
<http:response status="404" reason="{$reason}">
<!--<http:header name="string" value="string"/>-->
</http:response>
<output:serialization-parameters>
<output:omit-xml-declaration value="yes"/>
<output:media-type value="text/plain"/>
</output:serialization-parameters>
</rest:response>
};
Would produce the following on a not found document:
HTTP/1.1 404 Not Found
Content-Type: text/plain; charset=utf-8
Content-Length: 25
Server: Jetty(6.1.26)
Category scheme not found
-- Philippe
_______________________________________________
BaseX-Talk mailing list
[email protected]
https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk