- Adapt to Janestreet's 0.17 series.
- Forward a server context object to all http services. This can be used to lookup peer-socket address and ssl details (if using ssl) for the underlying connection.
- Add support for websockets
- Accept a
(string * string) list
as http headers. - Add a
Body.to_string
for reading entire bodies as string.
- Adapt to changes in async_kernel 0.16
- Only support OCaml 4.14 or newer
- Only support HTTP codec in the library
- Allow setting an upper bound on buffer size.
- Allow creating ssl encrypted http servers.
- Add client that supports keep-alive.
- Add http clients that leverage Async_kernel's persistent connections.
- Forward ssl connection details to shuttle_ssl server handlers
- Remove listen and with_connection from shuttle_ssl. Use upgrade_server_connection and upgrade_client_connection with the regular Connection module provided within Shuttle.
- Allow accessing the underlying buffer capacity for channels
- Add helper method that creates server connections using inet sockets
- Reliably schedule stream cleanup for all streaming server responses without forcing users to use any special functions to create the response
- Add one-shot http client
- Setup tcp server within http server module
- Same content as 0.8.0, but it re-works the integration tests to not spawn external processes, and adds a constraint on shuttle_http to only have it available on 64 bit systems.
- Revive the http codec as a new shuttle_http package
- Http codec supports a timeout for reading Request headers
- Server module reports a deferred that resolves when the server context closes. This can be usedul to register cleanup actions that should run when a server connection is torn down.
- Using the utility methods within the Server module to create responses ensures that streams are torn down if the server connection is closed before a stream was fully consumed.
- Remove support for blocking file descriptors
- Output_channel accepts an optional user-provided Async Time_source
- Input_channel accepts an optional user-provided Async Time_source
- Support timeouts for Input_channel.refill
- Remove
read
,read_line
,lines
from Input_channel
- Increase upper bound for core/async to 0.15.0
- Remove Buffer_is_full in favor of Bytebuffers that can grow upto a user provided max size
- Flush operations reports if the write operations encountered an error
- Reliably wakeup pending flushes when there is an error encountered while flushing pending bytes
- Remove Bytebuffer from public api
- Deprecate
schedule_bigstring
,write_string
- Support reading lines from an input channel
- Use Core_unix.IOVec to represent a view inside the input channel
- Support file descriptors that don't support nonblocking IO
- Remove the
read_one_chunk_at_a_time
interface from input channel - Switch to 0.15 series of core and async
- Add support for using format strings for writing to an output channel.
- Remove support for deferred responses from chunked reader callbacks.
- Add a new
shuttle_http
library that implements a driver for httpaf server_connection.
- Support creating a reader pipe from
Input_channel
. - Support creating a writer pipe from
Output_channel
. - Support encrypted channels using
async_ssl
.
- Support deferred's in
Input_channel.read_one_chunk_at_a_time
- Support writing characters to output channels
- Initial release