cohttp

An OCaml library for HTTP clients and servers
Library cohttp
Module Cohttp . Transfer
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

val sexp_of_encoding : encoding -> Ppx_sexp_conv_lib.Sexp.t
val encoding_of_sexp : Ppx_sexp_conv_lib.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 -> Ppx_sexp_conv_lib.Sexp.t
val chunk_of_sexp : Ppx_sexp_conv_lib.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.