package dream-httpaf
Internal: shared http/af stack for Dream (server) and Hyper (client)
Install
Dune Dependency
Authors
Maintainers
Sources
dream-1.0.0-alpha5.tar.gz
sha256=05bc7f6aff94893c151f3a5bcdee3328920c69b3763fac49ba27348dc7745901
md5=de6f6908ae899c9e85f2c751a0263932
doc/dream-httpaf.dream-h2/Dream_h2/Server_connection/index.html
Module Dream_h2.Server_connection
Source
Source
type t = {
mutable settings : Settings.t;
reader : Reader.frame;
writer : Writer.t;
config : Config.t;
request_handler : request_handler;
error_handler : error_handler;
streams : Scheduler.t;
mutable current_client_streams : int;
mutable max_client_stream_id : Stream_identifier.t;
mutable max_pushed_stream_id : Stream_identifier.t;
mutable receiving_headers_for_stream : Stream_identifier.t option;
mutable unacked_settings : int;
mutable did_send_go_away : bool;
hpack_encoder : Hpack.Encoder.t;
hpack_decoder : Hpack.Decoder.t;
}
Source
val set_error_and_handle :
?request:'a ->
t ->
(((Reqd.request_info, Reqd.request_info) Stream.active_state,
Reqd.active_stream,
Reqd.request_info * Reqd.active_stream)
Stream.state,
Reqd.error,
Reqd.error_handler)
Stream.stream ->
Reqd.error ->
Error_code.t ->
unit
Source
val create_push_stream :
t ->
Stream_identifier.t ->
((((Reqd.request_info, Reqd.request_info) Stream.active_state,
Reqd.active_stream,
Reqd.request_info * Reqd.active_stream)
Stream.state,
Reqd.error,
error_handler)
Stream.stream,
[> `Push_disabled | `Stream_ids_exhausted ])
result
Source
val handle_headers :
t ->
end_stream:bool ->
Scheduler.nonroot Scheduler.node ->
Reqd.active_stream ->
Headers.header list ->
unit
Source
val handle_headers_block :
t ->
?is_trailers:bool ->
Scheduler.nonroot Scheduler.node ->
Reqd.active_stream ->
Stream.partial_headers ->
int ->
Angstrom.bigstring ->
unit
Source
val handle_trailer_headers :
t ->
Scheduler.nonroot Scheduler.node ->
Reqd.active_stream ->
Stream.partial_headers ->
int ->
Angstrom.bigstring ->
unit
Source
val open_stream :
t ->
priority:Priority.t ->
Int32.t ->
Scheduler.nonroot Scheduler.node option
Source
val process_first_headers_block :
t ->
Frame.frame_header ->
Scheduler.nonroot Scheduler.node ->
Bigstringaf.t ->
unit
Source
val process_trailer_headers :
t ->
Scheduler.nonroot Scheduler.node ->
Reqd.active_stream ->
Frame.frame_header ->
Angstrom.bigstring ->
unit
Source
val default_error_handler :
?request:'a ->
[< `Bad_gateway
| `Bad_request
| `Conflict
| `Enhance_your_calm
| `Exn of exn
| `Expectation_failed
| `Forbidden
| `Gateway_timeout
| `Gone
| `Http_version_not_supported
| `I_m_a_teapot
| `Internal_server_error
| `Length_required
| `Method_not_allowed
| `Misdirected_request
| `Network_authentication_required
| `Not_acceptable
| `Not_found
| `Not_implemented
| `Payload_too_large
| `Payment_required
| `Precondition_failed
| `Precondition_required
| `Proxy_authentication_required
| `Range_not_satisfiable
| `Request_header_fields_too_large
| `Request_timeout
| `Service_unavailable
| `Too_many_requests
| `Unauthorized
| `Unsupported_media_type
| `Upgrade_required
| `Uri_too_long ] ->
(Headers.t -> Body.Writer.t) ->
unit
Source
val create_generic :
h2c:bool ->
config:Config.t ->
error_handler:error_handler ->
request_handler ->
t
Source
val handle_h2c_request :
t ->
Headers.header list ->
Faraday.bigstring Httpaf.IOVec.t list ->
unit
Source
val create_h2c :
?config:Config.t ->
?error_handler:error_handler ->
http_request:Httpaf.Request.t ->
?request_body:Faraday.bigstring Httpaf.IOVec.t list ->
request_handler ->
(t, string) result
Source
val next_write_operation :
t ->
[> `Close of int | `Write of Faraday.bigstring Faraday.iovec list | `Yield ]
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>