results in:
1) less duplicated code
2) default response headers being used at all times
3) *all* requests being logged properly
- adds documentation for result.code
- allows using result.code to override HTTP 500
- uses response.js for too-busy, server error, method not allowed
this will close the server, i.e. all new connections will be dropped
while existing connections are able to complete within 30 seconds
otherwise they are dropped and the server force quits
unfortunately we can't use stream pipes because we need to generate
a hash of the content for the Etag.
I think proper caching (i.e. Etag) is very important
- made sure that get_cape returns a status
- response.js returns 404 if body is empty
- 'X-Storage-Type: undefined' is no longer returned when status is `null`