package piaf

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Piaf.BodySource

Sourcetype t
Sourcetype length = [
  1. | `Fixed of Int64.t
  2. | `Chunked
  3. | `Error of [ `Bad_request | `Bad_gateway | `Internal_server_error ]
  4. | `Unknown
  5. | `Close_delimited
]
Sourceval length : t -> length
Sourceval empty : t
Sourceval of_stream : ?length:length -> Bigstringaf.t IOVec.t Lwt_stream.t -> t
Sourceval of_string_stream : ?length:length -> string Lwt_stream.t -> t
Sourceval of_string : string -> t
Sourceval of_bigstring : ?off:int -> ?len:int -> Bigstringaf.t -> t
Sourceval to_string : t -> (string, Error.t) Lwt_result.t
Sourceval drain : t -> (unit, Error.t) Lwt_result.t
Sourceval is_closed : t -> bool
Sourceval closed : t -> (unit, Error.t) Lwt_result.t
Sourceval when_closed : t -> ((unit, Error.t) result -> unit) -> unit

Traversal

Sourceval fold : (Bigstringaf.t IOVec.t -> 'a -> 'a) -> t -> 'a -> ('a, Error.t) Lwt_result.t
Sourceval fold_string : (string -> 'a -> 'a) -> t -> 'a -> ('a, Error.t) Lwt_result.t
Sourceval fold_s : (Bigstringaf.t Faraday.iovec -> 'a -> 'a Lwt.t) -> t -> 'a -> ('a, Error.t) Lwt_result.t
Sourceval fold_string_s : (string -> 'a -> 'a Lwt.t) -> t -> 'a -> ('a, Error.t) Lwt_result.t
Sourceval iter : (Bigstringaf.t Faraday.iovec -> unit) -> t -> (unit, Error.t) Lwt_result.t
Sourceval iter_string : (string -> unit) -> t -> (unit, Error.t) Lwt_result.t
Sourceval iter_s : (Bigstringaf.t Faraday.iovec -> unit Lwt.t) -> t -> (unit, Error.t) Lwt_result.t
Sourceval iter_string_s : (string -> unit Lwt.t) -> t -> (unit, Error.t) Lwt_result.t
Sourceval iter_p : (Bigstringaf.t Faraday.iovec -> unit Lwt.t) -> t -> (unit, Error.t) Lwt_result.t
Sourceval iter_string_p : (string -> unit Lwt.t) -> t -> (unit, Error.t) Lwt_result.t
Sourceval iter_n : ?max_concurrency:int -> (Bigstringaf.t Faraday.iovec -> unit Lwt.t) -> t -> (unit, Error.t) Lwt_result.t
Sourceval iter_string_n : ?max_concurrency:int -> (string -> unit Lwt.t) -> t -> (unit, Error.t) Lwt_result.t

Conversion to Lwt_stream.t

The functions below convert a Piaf.Body.t to an Lwt_stream.t. These functions should be used sparingly, and only when interacting with other APIs that require their argument to be a Lwt_stream.t.

These functions return a tuple of two elements. In addition to returning a Lwt_stream.t, the tuple's second element is a promise that will sleep until the stream is consumed (and closed). This promise will resolve to Ok () if the body was successfully transferred from the peer; otherwise, it will return Error error with an error of type Error.t detailing the failure that caused the body to not have been fully transferred from the peer.

Sourceval to_stream : t -> Bigstringaf.t IOVec.t Lwt_stream.t * (unit, Error.t) Lwt_result.t
Sourceval to_string_stream : t -> string Lwt_stream.t * (unit, Error.t) Lwt_result.t
OCaml

Innovation. Community. Security.