Mavryk_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 proxy_server_query_forwarder :
?acl:RPC_server.Acl.t ->
?ctx:Cohttp_lwt_unix.Net.ctx ->
?forwarder_events:forwarder_events ->
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 Mavryk_rpc.Directory.t ->
RPC_server.callback ->
RPC_server.callback
A Resto middleware that transforms any server callback to an other that handles RPC metrics