dream-httpaf.dream-h2
Dream_h2.Respd
dream-httpaf
dream-httpaf.dream-gluten
dream-httpaf.dream-gluten-lwt
dream-httpaf.dream-gluten-lwt-unix
dream-httpaf.dream-h2-lwt
dream-httpaf.dream-h2-lwt-unix
dream-httpaf.dream-hpack
dream-httpaf.dream-httpaf_
dream-httpaf.dream-httpaf_-lwt
dream-httpaf.dream-httpaf_-lwt-unix
dream-httpaf.dream-websocketaf
dream-httpaf.dream-websocketaf-lwt
dream-httpaf.dream-websocketaf-lwt-unix
module Writer = Serialize.Writer
type error = [
| `Malformed_response of string
| `Invalid_response_body_length of Response.t
| `Protocol_error of Error_code.t * string
| `Exn of exn
]
type error_handler = error -> unit
type response_handler = Response.t -> Body.Reader.t -> unit
type response_info = {
response : Response.t;
response_body : Body.Reader.t;
mutable response_body_bytes : int64;
mutable trailers_parser : Stream.partial_headers option;
}
type trailers_handler = Headers.t -> unit
type active_request = {
request : Request.t;
request_body : Body.Writer.t;
response_handler : response_handler;
trailers_handler : trailers_handler;
type active_state = (response_info, response_info Stream.remote_state) Stream.active_state
type state = (active_state, active_request, active_request Stream.remote_state) Stream.state
type t = (state, error, error_handler) Stream.stream
val create_active_response : Response.t -> Body.Reader.t -> response_info Stream.remote_state
val response_body_exn : (((response_info, response_info Stream.remote_state) Stream.active_state, 'a, 'b) Stream.state, 'c, 'd) Stream.stream -> Body.Reader.t
val close_stream : ((('a, 'b) Stream.active_state, 'c, 'd) Stream.state, 'e, 'f) Stream.stream -> unit
val _report_error : t -> ?response_body:Body.Reader.t -> error -> Error_code.t -> bool
val report_error : t -> error -> Error_code.t -> unit
val requires_output : ((('a, 'b) Stream.active_state, 'c, 'd) Stream.state, 'e, 'f) Stream.stream -> bool
val flush_request_body : ((('a, 'a Stream.remote_state) Stream.active_state, active_request, 'b) Stream.state, 'c, 'd) Stream.stream -> max_bytes:int -> int
val deliver_trailer_headers : ((('a, 'b Stream.remote_state) Stream.active_state, active_request, 'c) Stream.state, 'd, 'e) Stream.stream -> Headers.t -> unit
val flush_response_body : (((response_info, response_info Stream.remote_state) Stream.active_state, active_request, active_request Stream.remote_state) Stream.state, error, error_handler) Stream.stream -> unit