1. 27 Jan, 2017 5 commits
  2. 26 Jan, 2017 1 commit
  3. 24 Jan, 2017 7 commits
    • Kenton Varda's avatar
      Add HTTP client and server implementation. · 8f5d1f10
      Kenton Varda authored
      Properties:
      - Presented as a LIBRARY, designed to be unopinionated about the application using it.
      - Uses KJ async framework.
      - Header parsing is zero-copy. The whole header block is read into a contiguous buffer, then parsed all at once. Avoids complicated state machinery (and is probably pretty fast).
      - Known headers are parsed to numeric identifiers so that the application doesn't need to look them up by string name. The app registers all headers it is interested in upfront, receiving numeric IDs for each. Some common headers also have pre-defined constants, avoiding the need for registration.
      - Connection-level headers (e.g. Content-Length, Transfer-Encoding) are handled entirely internally.
      - WebSocket support (planned).
      
      Not done yet:
      - Implement the version of HttpClient that connects to new servers as-needed, managing a pool of connections. Currently I've only implemented the version that takes a pre-existing connection and speaks HTTP on it.
      - Implement WebSockets.
      - Implement plugable transfer encodings (although I guess Chrome doesn't even support transfer encodings other than chunked; maybe it's a lost cause).
      - Implement HTTP/2, hopefully transparently (... someday).
      8f5d1f10
    • Kenton Varda's avatar
      Add optimization helpers to async streams. · 86410ee7
      Kenton Varda authored
      - AsyncInputStream::tryGetLength() can report the amount of data the stream will produce. Useful for implementing HTTP Content-Length header.
      - AsyncInputStream::pumpTo() copies data from an input stream to an output stream, using double-dispatch to find an optimal approach.
      86410ee7
    • Kenton Varda's avatar
    • Kenton Varda's avatar
      9182e67f
    • Kenton Varda's avatar
    • Kenton Varda's avatar
      Make KJ_MAP support raw arrays as input. · 44cc7697
      Kenton Varda authored
      44cc7697
    • Kenton Varda's avatar
      54a611d4
  4. 23 Jan, 2017 1 commit
  5. 22 Jan, 2017 2 commits
  6. 05 Jan, 2017 2 commits
  7. 03 Jan, 2017 1 commit
    • Ross Light's avatar
      Add getFd method to FdInputStream and FdOutputStream · 1c2fb362
      Ross Light authored
      These methods are useful if you're receiving a generic stream in
      application code and would like to check some non-stream behavior about
      the file (e.g. stat or isatty).  Of course, downcasting can fail and
      code should not rely on the file descriptor being available.
      1c2fb362
  8. 29 Dec, 2016 1 commit
  9. 13 Dec, 2016 1 commit
  10. 12 Dec, 2016 2 commits
  11. 05 Dec, 2016 1 commit
  12. 01 Dec, 2016 2 commits
  13. 27 Nov, 2016 1 commit
  14. 25 Nov, 2016 1 commit
  15. 19 Nov, 2016 5 commits
  16. 18 Nov, 2016 2 commits
  17. 15 Nov, 2016 4 commits
  18. 12 Nov, 2016 1 commit