1. 21 Apr, 2018 1 commit
  2. 18 Apr, 2018 8 commits
  3. 09 Apr, 2018 2 commits
    • Kenton Varda's avatar
      Merge pull request #659 from capnproto/head-content-length · 394643ba
      Kenton Varda authored
      Allow app to send arbitrary Content-Length/Transfer-Encoding in HEAD responses.
      394643ba
    • Kenton Varda's avatar
      Allow app to send arbitrary Content-Length/Transfer-Encoding in HEAD responses. · be9b18c5
      Kenton Varda authored
      Previously, the app could control Content-Length by passing `expectedBodySize`. This is great for enabling code that "just works" by handling GET and HEAD requests identically.
      
      However, in somewhat more-complicated situations -- especilaly in proxies -- you end up having to write special-case hacks for HEAD requests to deal with the fact that the body is actually empty, but has a non-zero "expected" size.
      
      We can make life easier for proxies by allowing the application to directly set the Content-Length and Transfer-Encoding headers in the case of HEAD responses, much like we allow applications to set WebSocket-related headers on non-WebSocket requests/responses.
      
      This change actually fixes a bug in Cloudflare Workers where Content-Length is not passed through correctly for HEAD responses. No changes are needed on the Workers side (except adding a test).
      be9b18c5
  4. 03 Apr, 2018 2 commits
  5. 02 Apr, 2018 6 commits
  6. 29 Mar, 2018 1 commit
    • Harris Hancock's avatar
      Implement URL fragment, path, and userinfo component encode functions · 084f5526
      Harris Hancock authored
      According to the WHATWG URL spec, each different component of a URL gets its very own percent encode set, which we've been doing wrong this whole time.
      
      In terms of reserved characters, the fragment set is a subset of the path set, which is a subset of the userinfo set, which is a subset of RFC 2396's reserved set.
      084f5526
  7. 23 Mar, 2018 1 commit
  8. 22 Mar, 2018 3 commits
  9. 19 Mar, 2018 3 commits
  10. 15 Mar, 2018 3 commits
  11. 13 Mar, 2018 5 commits
  12. 26 Feb, 2018 1 commit
  13. 25 Feb, 2018 1 commit
  14. 23 Feb, 2018 2 commits
    • Kenton Varda's avatar
      Extend HttpServer to inform the caller when a connection ends cleanly on drain(). · 098004cd
      Kenton Varda authored
      This allows an application which calls drain() to potentially pass off HTTP connections to a new HttpServer afterwards. Without this, the application has no way to know if the connections are in an indeterminant state.
      
      This change also makes it OK for an application to fail to read the whole request body. Previously, if an app returned a response without reading the whole request, an exception would eventually be thrown, but potentially not until the client had initiated a new request on the same connection. The client would then get a spurious 500 error.
      098004cd
    • Kenton Varda's avatar
      18f7ff52
  15. 17 Feb, 2018 1 commit