Types
RpcWebSocketHandler = ref object of RpcServer wsserver*: WSServer maxMessageSize*: int
- Source Edit
RpcWebSocketServer = ref object of RpcWebSocketHandler
- Source Edit
WsAuthHook = proc (request: HttpRequest): Future[bool] {. async: (...raises: [CatchableError]).}
- Source Edit
Procs
proc close(server: RpcWebSocketServer) {....raises: [], gcsafe, tags: [], forbids: [].}
- Cleanup resources of RPC server. Source Edit
proc closeWait(server: RpcWebSocketServer): InternalRaisesFuture[void, void] {. ...stackTrace: false, raises: [], gcsafe, raises: [], gcsafe, tags: [RootEffect], forbids: [].}
- Cleanup resources of RPC server. Source Edit
proc localAddress(server: RpcWebSocketServer): TransportAddress {....raises: [], gcsafe, tags: [], forbids: [].}
- Source Edit
proc newRpcWebSocketServer(address: TransportAddress; compression: bool = false; flags: set[ServerFlags] = {TcpNoDelay, ReuseAddr}; authHooks: seq[WsAuthHook] = @[]; rng = HmacDrbgContext.new(); maxMessageSize = defaultMaxMessageSize): RpcWebSocketServer {. ...raises: [JsonRpcError], raises: [], gcsafe, tags: [], forbids: [].}
- Source Edit
proc newRpcWebSocketServer(address: TransportAddress; tlsPrivateKey: TLSPrivateKey; tlsCertificate: TLSCertificate; compression: bool = false; flags: set[ServerFlags] = {TcpNoDelay, ReuseAddr}; tlsFlags: set[TLSFlags] = {}; tlsMinVersion = TLSVersion.TLS12; tlsMaxVersion = TLSVersion.TLS12; authHooks: seq[WsAuthHook] = @[]; rng = HmacDrbgContext.new(); maxMessageSize = defaultMaxMessageSize): RpcWebSocketServer {. ...raises: [JsonRpcError], raises: [], gcsafe, tags: [], forbids: [].}
- Source Edit
proc newRpcWebSocketServer(host: string; port: Port; compression: bool = false; flags: set[ServerFlags] = {TcpNoDelay, ReuseAddr}; authHooks: seq[WsAuthHook] = @[]; rng = HmacDrbgContext.new(); maxMessageSize = defaultMaxMessageSize): RpcWebSocketServer {. ...raises: [JsonRpcError], raises: [], gcsafe, tags: [], forbids: [].}
- Source Edit
proc newRpcWebSocketServer(host: string; port: Port; tlsPrivateKey: TLSPrivateKey; tlsCertificate: TLSCertificate; compression: bool = false; flags: set[ServerFlags] = {TcpNoDelay, ReuseAddr}; tlsFlags: set[TLSFlags] = {}; tlsMinVersion = TLSVersion.TLS12; tlsMaxVersion = TLSVersion.TLS12; authHooks: seq[WsAuthHook] = @[]; rng = HmacDrbgContext.new()): RpcWebSocketServer {. ...raises: [JsonRpcError], raises: [], gcsafe, tags: [], forbids: [].}
- Source Edit
proc serveHTTP(rpc: RpcWebSocketHandler; request: HttpRequest): InternalRaisesFuture[ void, (CancelledError,)] {....stackTrace: false, raises: [], gcsafe, raises: [], gcsafe, tags: [RootEffect], forbids: [].}
- Source Edit
proc start(server: RpcWebSocketServer) {....raises: [JsonRpcError], raises: [], gcsafe, tags: [RootEffect, WriteIOEffect], forbids: [].}
- Start the RPC server. Source Edit
proc stop(server: RpcWebSocketServer) {....raises: [], gcsafe, tags: [RootEffect, WriteIOEffect], forbids: [].}
- Stop the RPC server. Source Edit
Exports
-
JsonRpcError, RpcAddressUnresolvableError, RpcPostError, FailedHttpResponse, ApplicationError, ErrorResponse, InvalidResponse, RequestDecodeError, RpcTransportError, RpcBindError, InvalidRequest, automaticBuiltinSerialization, METHOD_NOT_FOUND, call, json_rpc_workaround_24844_future_string, hash, flavorSkipNullFields, ResponseRx, readValue, RpcRouter, ==, writeRequest, readValue, RpcServer, mimeType, JrpcSys, writeValue, call, processsSingleResponse, new, rpc, flavorRequiresAllFields, automaticPrimitivesSerialization, ResponseError, RpcBatchResponse, createRpcSigsFromNim, hash, call, typeAutoSerialize, flavorEnumRep, executeMethod, RequestTx, prepareBatch, withPendingFut, executeMethod, JSON_PARSE_ERROR, ResponseRx2, decode, RpcBatchItem, createSingleRpcSig, readValue, INTERNAL_ERROR, flavorOmitsOptionalFields, readValue, flavorOmitsOptionalFields, readValue, automaticSerialization, wrapError, typeClassOrMemberAutoSerialize, GetJsonRpcRequestHeaders, route, automaticBuiltinSerialization, RequestParamsTx, Reader, send, Writer, RequestParamKind, RequestId, RpcClient, ResponseKind, createRpcSigsFromNim, defaultMaxMessageSize, ParamDescRx, RequestRx2, flavorAllowsUnknownFields, JrpcConv, writeValue, ResponseFut, typeAutoSerialize, executeMethod, Writer, writeValue, hasMethod, createRpcSigsFromString, close, RequestParamsRx, RpcRouterCallback, rpc, flavorRequiresAllFields, notify, decode, readValue, PreferredOutputType, $, createSingleRpcSig, mimeType, flavorEnumRep, clear, readValue, callBatch, clearPending, route, ParamDescNamed, processMessage, writeValue, flavorSkipNullFields, ResponseTx, hasMethod, writeNotification, readValue, PreferredOutputType, register, readValue, RpcBatchCallRef, unRegisterAll, JsonRPC2, flavorUsesAutomaticObjectSerialization, flavorEnumRep, shouldWriteObjectField, writeValue, flavorUsesAutomaticObjectSerialization, Reader, createRpcSigsFromString, flavorEnumRep, createRpcSigs, callOnProcessMessage, readValue, rpc, automaticSerialization, writeValue, ReqRespHeader, executeMethod, automaticPrimitivesSerialization, meth, notify, route, INVALID_PARAMS, INVALID_REQUEST, RequestRx, createRpcSigs, toTx, RequestIdKind, typeClassOrMemberAutoSerialize, rpc, RpcProc, ReBatchKind, register, readValue, writeValue, withWriter, route, flavorAllowsUnknownFields, RequestBatchRx, rpc, init, isFieldExpected, SERVER_ERROR, JSON_ENCODE_ERROR, RpcConnection, route, rpc