Releases: mirage/ocaml-cohttp
Releases · mirage/ocaml-cohttp
Expose more low-level interfaces for HTTP body handling
Bring make_body_writer
and write_header
into Cohttp.S.Http_io
. Needed by ocaml-git
Support Lwt 2.5.0 and assorted interface cleanups
Compatibility breaking interface changes:
- Remove
read_form
from theRequest/Response/Header
interfaces
as this should be done inBody
handling instead (#401).
New features and bug fixes:
- Remove
IO.write_line
as it was unused in any interfaces. - Do not use the
lwt
camlp4 extension. No observable external difference. - Do not return a code stacktrace in the default 500 handler.
- Add
Cohttp.Header.compare
(#411) - Fix typos in CLI documentation (#413 via @moonlightdrive)
- Use the Lwt 2.5.0 buffer API.
Cohttp_lwt.read_response
now has a non-optionalclosefn
parameter (#400).- Add a
Cohttp_lwt_s
module that contains all the Lwt module types
in one convenient place (#397).
HTTP pipelining and DELETE improvements
Fix 204 code response headers
- Do not add content encoding for 204's (#375)
HTTP header parsing bug fixes
Top level printers, Async callv, bug fixes
- Add Cohttp_async.Client.callv. Allows for making requests while reusing an
HTTP connection (#344) - Responses of status 1xx/204/304 have no bodies and cohttp should not attempt
to read them (#355) - Add top level printers. See cohttp.top findlib package (#363)
- Add
Header.to_string
(#362) - Fix chunk truncation in chunked transfer encoding (#360)
Compatibility breaking interface changes:
- Remove
Request
/Response
modules outside of Cohttp pack (#349)
Much better handling of large fixed size bodies
- Remove dependency on the Lwt Camlp4 syntax extension (#334).
- Add
make github
target to push documentation to GitHub Pages
(#338 from Jyotsna Prakash). - [async] Add
Cohttp_async.Server.close
to shutdown server (#337). - Add Async integration tests and consolidate Lwt tests using the
new framework (#337). - Fix allocation of massive buffer when handling fixed size http bodies (#345)
Improved Async buffer handling
- [async] Limit buffer size to a maximum of 32K in the Async backend
(#330 from Stanislav Artemkin). - Add
Cohttp.Conf.version
with the library version number included. - Remove debug output from
cohttp-curl-async
. - Add the beginning of a
DESIGN.md
document to explain the library structure.
Support more HTTP methods, Link support and stability improvements
Compatibility breaking interface changes:
CONNECT
andTRACE
methods added toCode
.Exhaustive matches will need updating.
New features and bug fixes:
Link
header parsing has been added asCohttp.Link
,Header.get_links
andHeader.add_links
cohttp_server_*
now obeysHEAD
requests and responds 405 to unknown methodsCohttp_async.Server.response
type is now exposed as aresponse * body
pair- Failure to read a body in a pipelined response no longer terminates the stream
- Fix
cohttp_curl_lwt -X HEAD
sending empty chunked body (#313) - Fix a bug which left extra
\r\n
in buffer at end of chunked reads - Fix handling of request URI for query strings and
CONNECT
proxies (#308, #318) - Fix precedence of
Host
header when request-URI is absolute URI - Fix request URI path to be non-empty except for * requests (e.g.
OPTIONS *
)
Fix Uri Handling
New features and bug fixes:
- Fix handling of request paths starting with multiple slashes (#308)