Skip to content

Latest commit

 

History

History
84 lines (81 loc) · 5.04 KB

FORK.md

File metadata and controls

84 lines (81 loc) · 5.04 KB

Unreleased

  • httpaf-lwt-unix: add support for HTTPS in the Lwt runtime, either via OpenSSL or ocaml-tls (#2)
  • httpaf, httpaf-lwt, httpaf-lwt-unix, httpaf-mirage: Add a Mirage adapter (#3)
  • Add an esy.json file (#6)
  • httpaf: Catch parsing errors and hand them to error_handler in Server_connection (#4)
  • httpaf, httpaf-lwt, httpaf-lwt-unix, httpaf-async, httpaf-mirage: add support for persistent connections and pipelining in the client implementations (#5)
  • httpaf, httpaf-lwt, httpaf-lwt-unix, httpaf-async, httpaf-mirage: add support for switching protocols, e.g. to a WebSocket connection, via a new function Reqd.respond_with_upgrade (#8)
  • httpaf-lwt, httpaf-lwt-unix, httpaf-mirage: deduplicate interface code via a common Httpaf_lwt_intf interface (#13)
  • httpaf-mirage: depend on mirage-conduit instead of conduit-mirage, effectively placing a lower bound of OCaml 4.07 on httpaf-mirage (#16)
  • httpaf-lwt-unix: replace the dune file (previously written in OCaml) with a (select) form to avoid depending on ocamlfind (#18)
  • httpaf: Shutdown the writer after closing a non chunk-encoded request body on the client (#23)
  • httpaf-mirage: Adapt to Mirage 3.7 interfaces. httpaf_mirage now requires conduit-mirage >= 2.0.2 and mirage-flow >= 2.0.0 (#24)
  • httpaf, httpaf-lwt, httpaf-lwt-unix, httpaf-async, httpaf-mirage: after switching protocols, close the connection / file descriptors when the upgrade handler's returned promise resolves (#26)
  • httpaf-lwt, httpaf-lwt-unix: split HTTPS functions in 2: one that sets up a default secure connection and performs the TLS handshake / accept, and one that is more "raw", i.e. leaves that responsibility to the caller. Also exposes the socket type to make it easier to abstract over HTTP / HTTPS (#28)
  • httpaf-lwt, httpaf-lwt-unix, httpaf-mirage: Improve the Httpaf_lwt.IO interface, don't require a report_exn function, only a state function that returns the socket state (#30)
  • httpaf, httpaf-lwt, httpaf-async: Add support for upgrading connections on the client. (#31)
  • httpaf: Fix the order of parsed request / response headers to match what it's advertised in the interface file. They are now served to the respective handlers in the original transmission order (#32)
  • httpaf: Fix persistent connections getting stuck (reader never waking up) when using ~flush_headers_immediately:true in combination with an empty response body (#34). This is a fix for an issue opened in the upstream repo: inhabitedtype/httpaf#162
  • httpaf-async: Add HTTPS support for the Async bindings (#35).
  • httpaf: Fix upstream regression introduced in inhabitedtype/httpaf#161 that caused wake_up_writer callback bookkeeping to be slightly wrong due to physical equality, producing runtime errors in cases where it shouldn't (#37).
  • httpaf-lwt: Close the communication channel after shutting down the client (#45)
  • httpaf: Fix sending streaming error responses; in particular, allow sending chunk-encoded responses (#56)
  • httpaf: handle read backpressure in server and client implementations (#59)
  • httpaf-lwt, httpaf-lwt-unix: Use gluten to implement the Lwt-based runtimes (#63)
  • httpaf-async: Use gluten to implement the Async runtimes (#69)
  • httpaf: call error handler on read EOF if the entire body hasn't been received (#75)
  • httpaf: Abort (chunked) responses correctly if an error is reported (#84, #86)

httpaf (upstream) 0.6.6