cohttp
Cohttp.Transfer
Read and write the HTTP/1.1 transfer-encoding formats. Currently supported are chunked and content-length.
chunked
content-length
type encoding =
| Chunked
dynamic chunked encoding
| Fixed of int64
fixed size content
| Unknown
unknown body size, which leads to best-effort
The encoding format detected from the transfer-encoding and content-length headers
transfer-encoding
val sexp_of_encoding : encoding -> Sexplib0.Sexp.t
val encoding_of_sexp : Sexplib0.Sexp.t -> encoding
type chunk =
| Chunk of string
chunk of data and not the end of stream
| Final_chunk of string
the last chunk of data, so no more should be read
| Done
no more body data is present
A chunk of body that also signals if there to more to arrive
val sexp_of_chunk : chunk -> Sexplib0.Sexp.t
val chunk_of_sexp : Sexplib0.Sexp.t -> chunk
val string_of_encoding : encoding -> string
Convert the encoding format to a human-readable string
val has_body : encoding -> [ `No | `Unknown | `Yes ]
has_body encoding returns the appropriate variant that indicates whether the HTTP request or response has an associated body. It does not guess: instead Unknown is returned if there is no explicit association.
has_body encoding
Unknown