1. 11 Sep, 2019 2 commits
    • Kenton Varda's avatar
      Client::whenResolved() should automatically attach a reference. · fe6024d0
      Kenton Varda authored
      Capability::Clients do not follow the usual KJ style with regards to lifetimes of returned promises. RPC methods in particular automatically take a reference on the capability until the method completes. This makes some intuitive sense as Capability::Client itself is a pointer-like type implementing reference counting on some inner object.
      
      whenResolved() did not follow the pattern, and instead required that the caller explicitly take a reference. I screwed this up when using it, suggesting that it's pretty unintuitive. It's cheap and safe to automatically take a reference, so let's do that.
      fe6024d0
    • Kenton Varda's avatar
      Fix userland pipe bug that propagated EOF from a pump. · dba7f35b
      Kenton Varda authored
      A pump does not propagate EOF. So a BlockedRead state should not complete when a pump happens that does not satisfy the read.
      dba7f35b
  2. 10 Sep, 2019 3 commits
  3. 09 Sep, 2019 1 commit
    • Kenton Varda's avatar
      Fix http-test.c++ to avoid dubious assumptions about gather-writes. · 8f9717d2
      Kenton Varda authored
      Most (all?) implementations of `write(ArrayPtr<const ArrayPtr<const byte>>)`, if the outer array contains only one inner array, do not use the outer array again after the initial call returns (as opposed to the promise resolving). But, this is not a safe assumption and http-test.c++ should not be relying on it.
      
      (I found this when I tried forcing all writes to complete asynchronously to check if it resulted in any bugs. This is all I found.)
      8f9717d2
  4. 03 Sep, 2019 5 commits
  5. 21 Aug, 2019 1 commit
  6. 20 Aug, 2019 3 commits
  7. 05 Aug, 2019 1 commit
  8. 02 Aug, 2019 1 commit
    • Harris Hancock's avatar
      Report raw HTTP content when handling client protocol errors in kj-http · 350b2f2b
      Harris Hancock authored
      This information is typically necessary to debug such protocol errors. However, it requires special handling, since it could contain sensitive information.
      
      The code which has the best view on protocol errors is HttpHeaders::tryParseRequest(), which previously returned an empty Maybe<Request> on failure. This commit changes that function to return a OneOf<Request, ProtocolError>. This required some surgery in various other parts of the code to deal with the OneOf.
      350b2f2b
  9. 23 Jul, 2019 2 commits
  10. 22 Jul, 2019 3 commits
  11. 10 Jul, 2019 1 commit
  12. 08 Jul, 2019 17 commits