Tezos_rpc_http_server.RPC_middleware
This module provides middlewares that is used by the RPC servers to forward unsupported RPCs to a full node.
type forwarder_events = {
on_forwarding : Cohttp.Request.t -> unit Lwt.t;
Called right before an unsupported RPC gets forwarded to the node.
*)on_locally_handled : Cohttp.Request.t -> unit Lwt.t;
Called after an RPC has been handled by the server itself (without any forwarding).
*)}
Callbacks to add side-effects to proxy_server_query_forwarder
, typically used to emit events.
val init_forwarder : unit -> forwarder_resources
val forwarding_conn_closed :
forwarder_resources ->
('a * Cohttp.Connection.t) ->
unit
val proxy_server_query_forwarder :
?acl:RPC_server.Acl.t ->
?ctx:Cohttp_lwt_unix.Net.ctx ->
?forwarder_events:forwarder_events ->
forwarder_resources ->
Uri.t ->
RPC_server.callback ->
RPC_server.callback
A Resto middleware that transforms any callback to an other that rewrites queries that the proxy server cannot handle and forwards them to the full node at the given Uri.t
. If acl
parameter is provided, the forwarding happens only if the ACL rules are satisfied.
val rpc_metrics_transform_callback :
update_metrics:
(string ->
string ->
(unit -> Cohttp_lwt_unix.Server.response_action Lwt.t) ->
Cohttp_lwt_unix.Server.response_action Lwt.t) ->
unit Tezos_rpc.Directory.t ->
RPC_server.callback ->
RPC_server.callback
A Resto middleware that transforms any server callback to an other that handles RPC metrics
module Http_cache_headers : sig ... end
A Resto middleware that adds Http cache headers to responses of any block query. These headers can be used by Caches to invalidate responses. The supported headers are: * `max-age`: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#response_directives * `if-none-match`: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match