@push-rpc/next 2.0.14 → 2.0.15
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.
- package/dist/server/http.d.ts +1 -1
- package/dist/server/http.js +1 -1
- package/dist/server/http.js.map +1 -1
- package/dist/server/index.d.ts +2 -2
- package/dist/server/index.js +1 -1
- package/dist/server/index.js.map +1 -1
- package/package.json +1 -1
- package/src/server/http.ts +2 -2
- package/src/server/index.ts +9 -9
package/dist/server/http.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { IncomingMessage, ServerResponse } from "http";
|
|
3
3
|
import { RpcConnectionContext } from "../rpc.js";
|
|
4
|
-
export declare function serveHttpRequest(req: IncomingMessage, res: ServerResponse, path: string, hooks: HttpServerHooks, createConnectionContext: (req: IncomingMessage) => Promise<RpcConnectionContext>): Promise<void>;
|
|
4
|
+
export declare function serveHttpRequest(req: IncomingMessage, res: ServerResponse, path: string, hooks: HttpServerHooks, createConnectionContext: (req: IncomingMessage, res: ServerResponse) => Promise<RpcConnectionContext>): Promise<void>;
|
|
5
5
|
export type HttpServerHooks = {
|
|
6
6
|
call(ctx: RpcConnectionContext, itemName: string, parameters: unknown[]): Promise<unknown>;
|
|
7
7
|
subscribe(clientId: RpcConnectionContext, itemName: string, parameters: unknown[]): Promise<unknown>;
|
package/dist/server/http.js
CHANGED
|
@@ -9,7 +9,7 @@ async function serveHttpRequest(req, res, path, hooks, createConnectionContext)
|
|
|
9
9
|
// oherwise just handle request
|
|
10
10
|
if (req.url?.startsWith(path)) {
|
|
11
11
|
try {
|
|
12
|
-
const ctx = await createConnectionContext(req);
|
|
12
|
+
const ctx = await createConnectionContext(req, res);
|
|
13
13
|
const itemName = req.url.slice(path.length + 1);
|
|
14
14
|
const isJson = req.headers["content-type"]?.includes("application/json") ?? false;
|
|
15
15
|
const textBody = await readBody(req);
|
package/dist/server/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":";;;AAGA,8CAA6D;AAC7D,4CAAgC;AAChC,kDAAoD;AAE7C,KAAK,UAAU,gBAAgB,CACpC,GAAoB,EACpB,GAAmB,EACnB,IAAY,EACZ,KAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { RpcConnectionContext, RpcContext, Services } from "../rpc.js";
|
|
3
3
|
import { ServicesWithTriggers } from "./local.js";
|
|
4
4
|
import { Middleware } from "../utils/middleware.js";
|
|
5
|
-
import http, { IncomingMessage } from "http";
|
|
5
|
+
import http, { IncomingMessage, ServerResponse } from "http";
|
|
6
6
|
import { HttpServerHooks } from "./http";
|
|
7
7
|
export declare function publishServices<S extends Services<S>, C extends RpcContext>(services: S, overrideOptions: Partial<PublishServicesOptions<C>> & ({
|
|
8
8
|
port: number;
|
|
@@ -23,7 +23,7 @@ export type PublishServicesOptions<C extends RpcContext> = {
|
|
|
23
23
|
middleware: Middleware<C>[];
|
|
24
24
|
pingInterval: number;
|
|
25
25
|
subscriptions: boolean;
|
|
26
|
-
createConnectionContext(req: IncomingMessage): Promise<RpcConnectionContext>;
|
|
26
|
+
createConnectionContext(req: IncomingMessage, res: ServerResponse): Promise<RpcConnectionContext>;
|
|
27
27
|
createServerHooks?(hooks: HttpServerHooks, req: IncomingMessage): HttpServerHooks;
|
|
28
28
|
} & ({
|
|
29
29
|
server: http.Server;
|
package/dist/server/index.js
CHANGED
|
@@ -23,7 +23,7 @@ const defaultOptions = {
|
|
|
23
23
|
middleware: [],
|
|
24
24
|
pingInterval: 30 * 1000, // should be in-sync with client
|
|
25
25
|
subscriptions: true,
|
|
26
|
-
async createConnectionContext(req) {
|
|
26
|
+
async createConnectionContext(req, res) {
|
|
27
27
|
const header = req.headers[rpc_js_1.CLIENT_ID_HEADER];
|
|
28
28
|
return {
|
|
29
29
|
clientId: (Array.isArray(header) ? header[0] : header) || "anon",
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;AAAA,sCAAsF;AAGtF,yDAAgD;AAIzC,KAAK,UAAU,eAAe,CACnC,QAAW,EACX,eAA8F;IAM9F,MAAM,OAAO,GAAG;QACd,GAAG,cAAc;QACjB,GAAG,eAAe;KACnB,CAAA;IAED,MAAM,SAAS,GAAG,IAAI,gCAAa,CAAO,QAAQ,EAAE,OAAO,CAAC,CAAA;IAE5D,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;IAEvB,OAAO;QACL,QAAQ,EAAE,SAAS,CAAC,0BAA0B,EAAE;QAChD,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,SAAS,CAAC,UAAU;KACjC,CAAA;AACH,CAAC;AAtBD,0CAsBC;AA0BD,MAAM,cAAc,GAAqD;IACvE,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,EAAE;IACd,YAAY,EAAE,EAAE,GAAG,IAAI,EAAE,gCAAgC;IACzD,aAAa,EAAE,IAAI;IAEnB,KAAK,CAAC,uBAAuB,CAAC,GAAoB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;AAAA,sCAAsF;AAGtF,yDAAgD;AAIzC,KAAK,UAAU,eAAe,CACnC,QAAW,EACX,eAA8F;IAM9F,MAAM,OAAO,GAAG;QACd,GAAG,cAAc;QACjB,GAAG,eAAe;KACnB,CAAA;IAED,MAAM,SAAS,GAAG,IAAI,gCAAa,CAAO,QAAQ,EAAE,OAAO,CAAC,CAAA;IAE5D,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;IAEvB,OAAO;QACL,QAAQ,EAAE,SAAS,CAAC,0BAA0B,EAAE;QAChD,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,SAAS,CAAC,UAAU;KACjC,CAAA;AACH,CAAC;AAtBD,0CAsBC;AA0BD,MAAM,cAAc,GAAqD;IACvE,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,EAAE;IACd,YAAY,EAAE,EAAE,GAAG,IAAI,EAAE,gCAAgC;IACzD,aAAa,EAAE,IAAI;IAEnB,KAAK,CAAC,uBAAuB,CAAC,GAAoB,EAAE,GAAmB;QACrE,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,yBAAgB,CAAC,CAAA;QAE5C,OAAO;YACL,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;SACjE,CAAA;IACH,CAAC;CACF,CAAA"}
|
package/package.json
CHANGED
package/src/server/http.ts
CHANGED
|
@@ -10,14 +10,14 @@ export async function serveHttpRequest(
|
|
|
10
10
|
res: ServerResponse,
|
|
11
11
|
path: string,
|
|
12
12
|
hooks: HttpServerHooks,
|
|
13
|
-
createConnectionContext: (req: IncomingMessage) => Promise<RpcConnectionContext>,
|
|
13
|
+
createConnectionContext: (req: IncomingMessage, res: ServerResponse) => Promise<RpcConnectionContext>,
|
|
14
14
|
) {
|
|
15
15
|
// if port is in options - response 404 on other URLs
|
|
16
16
|
// oherwise just handle request
|
|
17
17
|
|
|
18
18
|
if (req.url?.startsWith(path)) {
|
|
19
19
|
try {
|
|
20
|
-
const ctx = await createConnectionContext(req)
|
|
20
|
+
const ctx = await createConnectionContext(req, res)
|
|
21
21
|
|
|
22
22
|
const itemName = req.url.slice(path.length + 1)
|
|
23
23
|
|
package/src/server/index.ts
CHANGED
|
@@ -2,12 +2,12 @@ import {CLIENT_ID_HEADER, RpcConnectionContext, RpcContext, Services} from "../r
|
|
|
2
2
|
import {ServicesWithTriggers} from "./local.js"
|
|
3
3
|
import {Middleware} from "../utils/middleware.js"
|
|
4
4
|
import {RpcServerImpl} from "./RpcServerImpl.js"
|
|
5
|
-
import http, {IncomingMessage} from "http"
|
|
5
|
+
import http, {IncomingMessage, ServerResponse} from "http"
|
|
6
6
|
import {HttpServerHooks} from "./http"
|
|
7
7
|
|
|
8
8
|
export async function publishServices<S extends Services<S>, C extends RpcContext>(
|
|
9
9
|
services: S,
|
|
10
|
-
overrideOptions: Partial<PublishServicesOptions<C>> & ({port: number} | {server: http.Server})
|
|
10
|
+
overrideOptions: Partial<PublishServicesOptions<C>> & ({port: number} | {server: http.Server}),
|
|
11
11
|
): Promise<{
|
|
12
12
|
server: RpcServer
|
|
13
13
|
services: ServicesWithTriggers<S>
|
|
@@ -41,17 +41,17 @@ export type PublishServicesOptions<C extends RpcContext> = {
|
|
|
41
41
|
middleware: Middleware<C>[]
|
|
42
42
|
pingInterval: number
|
|
43
43
|
subscriptions: boolean
|
|
44
|
-
createConnectionContext(req: IncomingMessage): Promise<RpcConnectionContext>
|
|
44
|
+
createConnectionContext(req: IncomingMessage, res: ServerResponse): Promise<RpcConnectionContext>
|
|
45
45
|
createServerHooks?(hooks: HttpServerHooks, req: IncomingMessage): HttpServerHooks
|
|
46
46
|
} & (
|
|
47
47
|
| {
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
server: http.Server
|
|
49
|
+
}
|
|
50
50
|
| {
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
port: number
|
|
52
|
+
}
|
|
53
53
|
| {}
|
|
54
|
-
)
|
|
54
|
+
)
|
|
55
55
|
|
|
56
56
|
const defaultOptions: Omit<PublishServicesOptions<RpcContext>, "port"> = {
|
|
57
57
|
path: "",
|
|
@@ -60,7 +60,7 @@ const defaultOptions: Omit<PublishServicesOptions<RpcContext>, "port"> = {
|
|
|
60
60
|
pingInterval: 30 * 1000, // should be in-sync with client
|
|
61
61
|
subscriptions: true,
|
|
62
62
|
|
|
63
|
-
async createConnectionContext(req: IncomingMessage): Promise<RpcConnectionContext> {
|
|
63
|
+
async createConnectionContext(req: IncomingMessage, res: ServerResponse): Promise<RpcConnectionContext> {
|
|
64
64
|
const header = req.headers[CLIENT_ID_HEADER]
|
|
65
65
|
|
|
66
66
|
return {
|