package shuttle_http

  1. Overview
  2. Docs

Module Shuttle_http.BodySource

Sourcemodule Stream : sig ... end

Stream represents streaming HTTP bodies. This module provides utilities to create and consume streams, while enforcing the invariant that only one consume can read from a stream, and that a stream can only be consumed once.

Sourcetype t = private
  1. | Empty
  2. | Fixed of string
  3. | Stream of Stream.t
Sourceval sexp_of_t : t -> Sexplib0.Sexp.t
Sourceval string : string -> t

string str creates a fixed length encoded body from a user provided string.

Sourceval empty : t

empty is a zero length body.

Sourceval of_pipe : [ `Chunked | `Fixed of int ] -> string Async.Pipe.Reader.t -> t

of_pipe is a convenience function that creates a streaming body from a user provided Async_kernel.Pipe.Reader.t. The pipe will be closed whenever the streaming body is closed, or EOF is reached.

Sourceval stream : Stream.t -> t

stream creates a streaming body from a user provided streaming module.

Sourceval to_stream : t -> Stream.t

to_stream converts a HTTP body to a stream.

Sourceval to_string : t -> string Async.Deferred.t

to_string returns a deferred that will be fulfilled with the entire body converted to a string.

OCaml

Innovation. Community. Security.