@dxos/websocket-rpc 0.8.4-main.f9ba587 → 0.8.4-main.fcc0d83b33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,12 +16,7 @@ var authenticateRequestWithTokenAuth = (request, socket, upgradeHead, token, cb)
16
16
  if (!protocolHeader) {
17
17
  log("upgrade unauthorized, header missing", {
18
18
  header: request.headers["sec-websocket-protocol"]
19
- }, {
20
- F: __dxlog_file,
21
- L: 28,
22
- S: void 0,
23
- C: (f, a) => f(...a)
24
- });
19
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 13, S: void 0 });
25
20
  socket.write("HTTP/1.1 401 Unauthorized\r\n\r\n");
26
21
  socket.destroy();
27
22
  return;
@@ -32,12 +27,7 @@ var authenticateRequestWithTokenAuth = (request, socket, upgradeHead, token, cb)
32
27
  log("upgrade unauthorized", {
33
28
  token,
34
29
  foo: encodedToken
35
- }, {
36
- F: __dxlog_file,
37
- L: 40,
38
- S: void 0,
39
- C: (f, a) => f(...a)
40
- });
30
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 24, S: void 0 });
41
31
  socket.write("HTTP/1.1 401 Unauthorized\r\n\r\n");
42
32
  socket.destroy();
43
33
  return;
@@ -53,30 +43,28 @@ var WebSocketWithTokenAuth = class extends WebSocket {
53
43
  super(url, wsProtocols);
54
44
  log("encodedToken", {
55
45
  encodedToken
56
- }, {
57
- F: __dxlog_file,
58
- L: 55,
59
- S: this,
60
- C: (f, a) => f(...a)
61
- });
46
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 41, S: this });
62
47
  }
63
48
  };
64
49
 
65
50
  // src/client.ts
51
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/core/mesh/websocket-rpc/src/client.ts";
66
52
  function _ts_decorate(decorators, target, key, desc) {
67
53
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
68
54
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
69
55
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
70
56
  return c > 3 && r && Object.defineProperty(target, key, r), r;
71
57
  }
72
- var __dxlog_file2 = "/__w/dxos/dxos/packages/core/mesh/websocket-rpc/src/client.ts";
73
58
  var WebsocketRpcClient = class {
59
+ _params;
60
+ _socket;
61
+ _rpc;
62
+ _connectTrigger = new Trigger();
63
+ connected = new Event();
64
+ disconnected = new Event();
65
+ error = new Event();
74
66
  constructor(_params) {
75
67
  this._params = _params;
76
- this._connectTrigger = new Trigger();
77
- this.connected = new Event();
78
- this.disconnected = new Event();
79
- this.error = new Event();
80
68
  this._rpc = createProtoRpcPeer({
81
69
  requested: this._params.requested,
82
70
  exposed: this._params.exposed,
@@ -108,20 +96,10 @@ var WebsocketRpcClient = class {
108
96
  this._socket = new WebSocket2(this._params.url);
109
97
  }
110
98
  this._socket.onopen = async () => {
111
- log2("Socket open", void 0, {
112
- F: __dxlog_file2,
113
- L: 62,
114
- S: this,
115
- C: (f, a) => f(...a)
116
- });
99
+ log2("Socket open", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 56, S: this });
117
100
  try {
118
101
  await this._rpc.open();
119
- log2(`RPC open ${this._params.url}`, void 0, {
120
- F: __dxlog_file2,
121
- L: 65,
122
- S: this,
123
- C: (f, a) => f(...a)
124
- });
102
+ log2(`RPC open ${this._params.url}`, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 59, S: this });
125
103
  this.connected.emit();
126
104
  this._connectTrigger.wake();
127
105
  } catch (err) {
@@ -129,24 +107,14 @@ var WebsocketRpcClient = class {
129
107
  }
130
108
  };
131
109
  this._socket.onclose = async () => {
132
- log2(`Disconnected ${this._params.url}`, void 0, {
133
- F: __dxlog_file2,
134
- L: 74,
135
- S: this,
136
- C: (f, a) => f(...a)
137
- });
110
+ log2(`Disconnected ${this._params.url}`, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 67, S: this });
138
111
  this.disconnected.emit();
139
112
  await this.close();
140
113
  };
141
114
  this._socket.onerror = (event) => {
142
115
  log2.error(event.message ?? "Socket error", {
143
116
  url: this._params.url
144
- }, {
145
- F: __dxlog_file2,
146
- L: 81,
147
- S: this,
148
- C: (f, a) => f(...a)
149
- });
117
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 73, S: this });
150
118
  const error = event.error ?? new Error(event.message);
151
119
  this.error.emit(error);
152
120
  this._connectTrigger.throw(error);
@@ -157,12 +125,7 @@ var WebsocketRpcClient = class {
157
125
  try {
158
126
  await this._rpc?.close();
159
127
  } catch (err) {
160
- log2.catch(err, void 0, {
161
- F: __dxlog_file2,
162
- L: 94,
163
- S: this,
164
- C: (f, a) => f(...a)
165
- });
128
+ log2.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 86, S: this });
166
129
  }
167
130
  this._socket?.close();
168
131
  }
@@ -180,6 +143,8 @@ import { log as log3 } from "@dxos/log";
180
143
  import { createProtoRpcPeer as createProtoRpcPeer2 } from "@dxos/rpc";
181
144
  var __dxlog_file3 = "/__w/dxos/dxos/packages/core/mesh/websocket-rpc/src/server.ts";
182
145
  var WebsocketRpcServer = class {
146
+ _params;
147
+ _server;
183
148
  constructor(_params) {
184
149
  this._params = _params;
185
150
  }
@@ -196,12 +161,7 @@ var WebsocketRpcServer = class {
196
161
  log3("connection", {
197
162
  url: request.url,
198
163
  headers: request.headers
199
- }, {
200
- F: __dxlog_file3,
201
- L: 40,
202
- S: this,
203
- C: (f, a) => f(...a)
204
- });
164
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 23, S: this });
205
165
  const info = {
206
166
  request
207
167
  };
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/client.ts", "../../../src/token-auth.ts", "../../../src/server.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nimport WebSocket from 'isomorphic-ws';\n\nimport { Event, Trigger } from '@dxos/async';\nimport { log, logInfo } from '@dxos/log';\nimport { type ProtoRpcPeer, type ProtoRpcPeerOptions, createProtoRpcPeer } from '@dxos/rpc';\n\nimport { WebSocketWithTokenAuth } from './token-auth';\n\nexport type WebsocketRpcClientProps<C, S> = {\n url: string;\n authenticationToken?: string;\n} & Pick<ProtoRpcPeerOptions<C, S>, 'requested' | 'exposed' | 'handlers' | 'noHandshake'>;\n\nexport class WebsocketRpcClient<C, S> {\n private _socket?: WebSocket;\n private _rpc?: ProtoRpcPeer<C>;\n private readonly _connectTrigger = new Trigger();\n\n readonly connected = new Event();\n readonly disconnected = new Event();\n readonly error = new Event<Error>();\n\n constructor(private readonly _params: WebsocketRpcClientProps<C, S>) {\n this._rpc = createProtoRpcPeer({\n requested: this._params.requested,\n exposed: this._params.exposed,\n handlers: this._params.handlers,\n noHandshake: this._params.noHandshake,\n port: {\n send: (msg) => {\n this._socket!.send(msg);\n },\n subscribe: (cb) => {\n this._socket!.onmessage = async (msg: WebSocket.MessageEvent) => {\n if (typeof Blob !== 'undefined' && msg.data instanceof Blob) {\n cb(Buffer.from(await msg.data.arrayBuffer()));\n } else {\n cb(msg.data as any);\n }\n };\n },\n },\n });\n }\n\n @logInfo\n get url() {\n return this._params.url;\n }\n\n async open(): Promise<void> {\n if (this._params.authenticationToken) {\n this._socket = new WebSocketWithTokenAuth(this._params.url, this._params.authenticationToken);\n } else {\n this._socket = new WebSocket(this._params.url);\n }\n this._socket.onopen = async () => {\n log('Socket open');\n try {\n await this._rpc!.open();\n log(`RPC open ${this._params.url}`);\n this.connected.emit();\n this._connectTrigger.wake();\n } catch (err: any) {\n this.error.emit(err);\n }\n };\n\n this._socket.onclose = async () => {\n log(`Disconnected ${this._params.url}`);\n this.disconnected.emit();\n await this.close();\n };\n\n this._socket.onerror = (event: WebSocket.ErrorEvent) => {\n // Browsers do not include the error message in the event object, so we cannot discern 401 errors from other errors.\n log.error(event.message ?? 'Socket error', { url: this._params.url });\n const error = event.error ?? new Error(event.message);\n this.error.emit(error);\n this._connectTrigger.throw(error);\n };\n\n await this._connectTrigger.wait();\n }\n\n async close(): Promise<void> {\n try {\n await this._rpc?.close();\n } catch (err) {\n log.catch(err);\n }\n this._socket?.close();\n }\n\n get rpc() {\n return this._rpc!.rpc;\n }\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\n// Implement WS header-based auth similar to https://github.com/kubernetes/kubernetes/commit/714f97d7baf4975ad3aa47735a868a81a984d1f0\n// https://stackoverflow.com/questions/4361173/http-headers-in-websockets-client-api/77060459#77060459\n\nimport { type IncomingMessage } from 'http';\nimport WebSocket from 'isomorphic-ws';\nimport { type Socket } from 'node:net';\n\nimport { log } from '@dxos/log';\n\nconst PROTOCOL_TOKEN_PREFIX = 'base64url.bearer.authorization.dxos.org';\n\n// TODO: implement middleware which removes the token from the request\n\nexport const authenticateRequestWithTokenAuth = (\n request: IncomingMessage,\n socket: Socket,\n upgradeHead: Buffer,\n token: string,\n cb: (request: IncomingMessage, socket: Socket, upgradeHead: Buffer) => void,\n) => {\n const protocolHeader = request.headers['sec-websocket-protocol'];\n\n if (!protocolHeader) {\n log('upgrade unauthorized, header missing', { header: request.headers['sec-websocket-protocol'] });\n socket.write('HTTP/1.1 401 Unauthorized\\r\\n\\r\\n');\n socket.destroy();\n return;\n }\n\n const tokenHeader = protocolHeader.replace(new RegExp(`^${PROTOCOL_TOKEN_PREFIX}.`), '');\n\n // padding characters are not allowed as a websocket protocol.\n const encodedToken = Buffer.from(token).toString('base64').replace(/=*$/, '');\n\n if (tokenHeader !== encodedToken) {\n log('upgrade unauthorized', { token, foo: encodedToken });\n socket.write('HTTP/1.1 401 Unauthorized\\r\\n\\r\\n');\n socket.destroy();\n return;\n }\n\n cb(request, socket, upgradeHead);\n};\n\nexport class WebSocketWithTokenAuth extends WebSocket {\n constructor(url: string, token: string) {\n const encodedToken = Buffer.from(token).toString('base64').replace(/=*$/, '');\n\n const wsProtocols = [`base64url.bearer.authorization.dxos.org.${encodedToken}`];\n super(url, wsProtocols);\n log('encodedToken', {\n encodedToken,\n });\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type IncomingMessage } from 'http';\nimport WebSocket from 'isomorphic-ws';\nimport { type Socket } from 'node:net';\n\nimport { log } from '@dxos/log';\nimport { type ProtoRpcPeer, type ProtoRpcPeerOptions, createProtoRpcPeer } from '@dxos/rpc';\n\nexport type ConnectionInfo = {\n request: IncomingMessage;\n};\n\nexport type ConnectionHandler<C, S> = {\n onOpen?: (rpc: ProtoRpcPeer<C>) => Promise<void>;\n onClose?: (rpc: ProtoRpcPeer<C>) => Promise<void>;\n} & Pick<ProtoRpcPeerOptions<C, S>, 'requested' | 'exposed' | 'handlers'>;\n\nexport type WebsocketRpcServerProps<C, S> = {\n onConnection: (info: ConnectionInfo) => Promise<ConnectionHandler<C, S>>;\n} & WebSocket.ServerOptions;\n\nexport class WebsocketRpcServer<C, S> {\n private _server?: WebSocket.Server;\n\n constructor(private readonly _params: WebsocketRpcServerProps<C, S>) {}\n handleUpgrade(request: IncomingMessage, socket: Socket, head: Buffer): void {\n this._server?.handleUpgrade(request, socket, head, (ws: WebSocket) => {\n this._server?.emit('connection', ws, request);\n });\n }\n\n async open(): Promise<void> {\n this._server = new WebSocket.Server({\n ...this._params,\n });\n this._server.on('connection', async (socket: WebSocket, request: IncomingMessage) => {\n log('connection', { url: request.url, headers: request.headers });\n const info: ConnectionInfo = {\n request,\n };\n const { onOpen, onClose, ...options } = await this._params.onConnection(info);\n const rpc = createProtoRpcPeer<C, S>({\n ...options,\n port: {\n send: (msg) => {\n socket.send(msg);\n },\n subscribe: (cb) => {\n socket.onmessage = async (msg: WebSocket.MessageEvent) => {\n if (typeof Blob !== 'undefined' && msg.data instanceof Blob) {\n cb(Buffer.from(await msg.data.arrayBuffer()));\n } else {\n cb(msg.data as any);\n }\n };\n },\n },\n });\n\n await rpc.open();\n await onOpen?.(rpc);\n socket.onclose = async () => {\n await onClose?.(rpc);\n await rpc.close();\n };\n });\n }\n\n async close(): Promise<void> {\n this._server?.close();\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["WebSocket", "Trigger", "log", "logInfo", "createProtoRpcPeer", "WebSocketWithTokenAuth", "WebSocket", "log", "PROTOCOL_TOKEN_PREFIX", "authenticateRequestWithTokenAuth", "protocolHeader", "request", "socket", "encodedToken", "token", "toString", "foo", "write", "WebSocketWithTokenAuth", "wsProtocols", "__dxlog_file", "_socket", "_rpc", "_connectTrigger", "connected", "Event", "disconnected", "error", "_params", "createProtoRpcPeer", "requested", "exposed", "handlers", "noHandshake", "port", "send", "subscribe", "onmessage", "cb", "Buffer", "arrayBuffer", "msg", "WebSocketWithTokenAuth", "WebSocket", "log", "emit", "err", "url", "event", "message", "throw", "catch", "WebSocket", "log", "createProtoRpcPeer", "__dxlog_file", "WebsocketRpcServer", "_server", "handleUpgrade", "request", "emit", "headers", "options", "port", "subscribe", "cb", "from", "msg", "data", "socket", "onclose", "onClose", "close"]
7
+ }
@@ -1 +1 @@
1
- {"inputs":{"src/token-auth.ts":{"bytes":6759,"imports":[{"path":"isomorphic-ws","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/client.ts":{"bytes":12222,"imports":[{"path":"isomorphic-ws","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true},{"path":"src/token-auth.ts","kind":"import-statement","original":"./token-auth"}],"format":"esm"},"src/server.ts":{"bytes":7359,"imports":[{"path":"isomorphic-ws","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":633,"imports":[{"path":"src/client.ts","kind":"import-statement","original":"./client"},{"path":"src/server.ts","kind":"import-statement","original":"./server"},{"path":"src/token-auth.ts","kind":"import-statement","original":"./token-auth"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":12503},"dist/lib/browser/index.mjs":{"imports":[{"path":"isomorphic-ws","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true},{"path":"isomorphic-ws","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"isomorphic-ws","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true}],"exports":["WebSocketWithTokenAuth","WebsocketRpcClient","WebsocketRpcServer","authenticateRequestWithTokenAuth"],"entryPoint":"src/index.ts","inputs":{"src/client.ts":{"bytesInOutput":3467},"src/token-auth.ts":{"bytesInOutput":1656},"src/index.ts":{"bytesInOutput":0},"src/server.ts":{"bytesInOutput":1675}},"bytes":7059}}}
1
+ {"inputs":{"src/token-auth.ts":{"bytes":6552,"imports":[{"path":"isomorphic-ws","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/client.ts":{"bytes":11605,"imports":[{"path":"isomorphic-ws","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true},{"path":"src/token-auth.ts","kind":"import-statement","original":"./token-auth"}],"format":"esm"},"src/server.ts":{"bytes":7320,"imports":[{"path":"isomorphic-ws","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":546,"imports":[{"path":"src/client.ts","kind":"import-statement","original":"./client"},{"path":"src/server.ts","kind":"import-statement","original":"./server"},{"path":"src/token-auth.ts","kind":"import-statement","original":"./token-auth"}],"format":"esm"}},"outputs":{"dist/lib/neutral/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":12065},"dist/lib/neutral/index.mjs":{"imports":[{"path":"isomorphic-ws","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true},{"path":"isomorphic-ws","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"isomorphic-ws","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true}],"exports":["WebSocketWithTokenAuth","WebsocketRpcClient","WebsocketRpcServer","authenticateRequestWithTokenAuth"],"entryPoint":"src/index.ts","inputs":{"src/client.ts":{"bytesInOutput":3279},"src/token-auth.ts":{"bytesInOutput":1578},"src/index.ts":{"bytesInOutput":0},"src/server.ts":{"bytesInOutput":1661}},"bytes":6779}}}
@@ -1,6 +1,6 @@
1
1
  import { Event } from '@dxos/async';
2
2
  import { type ProtoRpcPeerOptions } from '@dxos/rpc';
3
- export type WebsocketRpcClientParams<C, S> = {
3
+ export type WebsocketRpcClientProps<C, S> = {
4
4
  url: string;
5
5
  authenticationToken?: string;
6
6
  } & Pick<ProtoRpcPeerOptions<C, S>, 'requested' | 'exposed' | 'handlers' | 'noHandshake'>;
@@ -12,7 +12,7 @@ export declare class WebsocketRpcClient<C, S> {
12
12
  readonly connected: Event<void>;
13
13
  readonly disconnected: Event<void>;
14
14
  readonly error: Event<Error>;
15
- constructor(_params: WebsocketRpcClientParams<C, S>);
15
+ constructor(_params: WebsocketRpcClientProps<C, S>);
16
16
  get url(): string;
17
17
  open(): Promise<void>;
18
18
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/client.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAW,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAyC,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAI5F,MAAM,MAAM,wBAAwB,CAAC,CAAC,EAAE,CAAC,IAAI;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC,CAAC;AAE1F,qBAAa,kBAAkB,CAAC,CAAC,EAAE,CAAC;IAStB,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,OAAO,CAAC,OAAO,CAAC,CAAY;IAC5B,OAAO,CAAC,IAAI,CAAC,CAAkB;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IAEjD,QAAQ,CAAC,SAAS,cAAe;IACjC,QAAQ,CAAC,YAAY,cAAe;IACpC,QAAQ,CAAC,KAAK,eAAsB;gBAEP,OAAO,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC;IAuBpE,IACI,GAAG,WAEN;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B,IAAI,GAAG,MAEN;CACF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/client.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAW,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAqB,KAAK,mBAAmB,EAAsB,MAAM,WAAW,CAAC;AAI5F,MAAM,MAAM,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC,CAAC;AAE1F,qBAAa,kBAAkB,CAAC,CAAC,EAAE,CAAC;IAStB,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,OAAO,CAAC,OAAO,CAAC,CAAY;IAC5B,OAAO,CAAC,IAAI,CAAC,CAAkB;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IAEjD,QAAQ,CAAC,SAAS,cAAe;IACjC,QAAQ,CAAC,YAAY,cAAe;IACpC,QAAQ,CAAC,KAAK,eAAsB;IAEpC,YAA6B,OAAO,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,EAqBlE;IAED,IACI,GAAG,WAEN;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAiC1B;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAO3B;IAED,IAAI,GAAG,MAEN;CACF"}
@@ -9,13 +9,13 @@ export type ConnectionHandler<C, S> = {
9
9
  onOpen?: (rpc: ProtoRpcPeer<C>) => Promise<void>;
10
10
  onClose?: (rpc: ProtoRpcPeer<C>) => Promise<void>;
11
11
  } & Pick<ProtoRpcPeerOptions<C, S>, 'requested' | 'exposed' | 'handlers'>;
12
- export type WebsocketRpcServerParams<C, S> = {
12
+ export type WebsocketRpcServerProps<C, S> = {
13
13
  onConnection: (info: ConnectionInfo) => Promise<ConnectionHandler<C, S>>;
14
14
  } & WebSocket.ServerOptions;
15
15
  export declare class WebsocketRpcServer<C, S> {
16
16
  private readonly _params;
17
17
  private _server?;
18
- constructor(_params: WebsocketRpcServerParams<C, S>);
18
+ constructor(_params: WebsocketRpcServerProps<C, S>);
19
19
  handleUpgrade(request: IncomingMessage, socket: Socket, head: Buffer): void;
20
20
  open(): Promise<void>;
21
21
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,SAAS,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAAsB,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAE5F,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAI;IACpC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;AAE1E,MAAM,MAAM,wBAAwB,CAAC,CAAC,EAAE,CAAC,IAAI;IAC3C,YAAY,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC1E,GAAG,SAAS,CAAC,aAAa,CAAC;AAE5B,qBAAa,kBAAkB,CAAC,CAAC,EAAE,CAAC;IAGtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,OAAO,CAAC,CAAmB;gBAEN,OAAO,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC;IACpE,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAMrE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,SAAS,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAsB,MAAM,WAAW,CAAC;AAE5F,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAI;IACpC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;AAE1E,MAAM,MAAM,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI;IAC1C,YAAY,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC1E,GAAG,SAAS,CAAC,aAAa,CAAC;AAE5B,qBAAa,kBAAkB,CAAC,CAAC,EAAE,CAAC;IAGtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,OAAO,CAAC,CAAmB;IAEnC,YAA6B,OAAO,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAI;IACvE,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAI1E;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAmC1B;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"token-auth.d.ts","sourceRoot":"","sources":["../../../src/token-auth.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,SAAS,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAQvC,eAAO,MAAM,gCAAgC,GAC3C,SAAS,eAAe,EACxB,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,OAAO,MAAM,EACb,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,SAwB5E,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,SAAS;gBACvC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CASvC"}
1
+ {"version":3,"file":"token-auth.d.ts","sourceRoot":"","sources":["../../../src/token-auth.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,SAAS,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAQvC,eAAO,MAAM,gCAAgC,YAClC,eAAe,UAChB,MAAM,eACD,MAAM,SACZ,MAAM,MACT,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,SAwB5E,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,SAAS;IACnD,YAAY,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAQrC;CACF"}