-*- mode: outline -*- * New functionality ** http/1.1 persistence needs chunked encoding to be particuarly useful. ** new response model Make request and response into two separate objects; currently they're conflated into one and arbitrarily called request. *** fits the client as well as the server Allow a request to be created from scratch and handed to a server which returns a response. *** message bodies have a streamsy interface Don't want to precompute the whole thing. Important w.r.t (a) printing long/slow responses, (b) parsing big requests (e.g. file uploads) ** merge in the multipart/form-data patch subject to efficiency noise I've already made. with new handler model we could implement lazy request-header stuff because we'd be able to tell people they have to use request-send-headers if they want to use the new interface ** persistent connections This would be a significant change: 1) It will only work with the object-based handler model where a response-sent condition can be signalled without closing the socket 2) This is also going to need all responses to set a Content-length, or to use a chunked encoding. This would be best done at the stream layer: let's wait for simple-streams ** Request methods: general-purpose PUT handler. ** HTTP caching Documentation should explain use of Vary * Bugs: html.lisp : html-reserved-p - the test for whether a character requires URL-escaping is wrong ** Check for conformance with rfc1945/2168; I bet it doesn't