@orpc/server 2.0.0-beta.4 → 2.0.0-beta.41
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/README.md +97 -94
- package/dist/adapters/aws-lambda/index.d.mts +50 -0
- package/dist/adapters/aws-lambda/index.d.ts +50 -0
- package/dist/adapters/aws-lambda/index.mjs +39 -0
- package/dist/adapters/crossws/index.d.mts +21 -12
- package/dist/adapters/crossws/index.d.ts +21 -12
- package/dist/adapters/crossws/index.mjs +14 -10
- package/dist/adapters/fastify/index.d.mts +42 -0
- package/dist/adapters/fastify/index.d.ts +42 -0
- package/dist/adapters/fastify/index.mjs +39 -0
- package/dist/adapters/fetch/index.d.mts +21 -114
- package/dist/adapters/fetch/index.d.ts +21 -114
- package/dist/adapters/fetch/index.mjs +20 -182
- package/dist/adapters/message-port/index.d.mts +23 -20
- package/dist/adapters/message-port/index.d.ts +23 -20
- package/dist/adapters/message-port/index.mjs +31 -34
- package/dist/adapters/node/index.d.mts +19 -96
- package/dist/adapters/node/index.d.ts +19 -96
- package/dist/adapters/node/index.mjs +19 -157
- package/dist/adapters/standard/index.d.mts +91 -17
- package/dist/adapters/standard/index.d.ts +91 -17
- package/dist/adapters/standard/index.mjs +4 -4
- package/dist/adapters/standard-peer/index.d.mts +6 -11
- package/dist/adapters/standard-peer/index.d.ts +6 -11
- package/dist/adapters/standard-peer/index.mjs +10 -2
- package/dist/adapters/websocket/index.d.mts +45 -29
- package/dist/adapters/websocket/index.d.ts +45 -29
- package/dist/adapters/websocket/index.mjs +39 -28
- package/dist/extensions/callable.d.mts +5 -5
- package/dist/extensions/callable.d.ts +5 -5
- package/dist/extensions/callable.mjs +2 -2
- package/dist/helpers/index.d.mts +23 -6
- package/dist/helpers/index.d.ts +23 -6
- package/dist/helpers/index.mjs +13 -5
- package/dist/index.d.mts +332 -37
- package/dist/index.d.ts +332 -37
- package/dist/index.mjs +141 -65
- package/dist/plugins/index.d.mts +255 -31
- package/dist/plugins/index.d.ts +255 -31
- package/dist/plugins/index.mjs +559 -38
- package/dist/shared/server.1ExWFMze.mjs +69 -0
- package/dist/shared/{server.CjOb6ItT.mjs → server.AVQWL-DI.mjs} +1 -1
- package/dist/shared/{server.BL22TloH.d.mts → server.BEdOJs6S.d.mts} +41 -62
- package/dist/shared/{server.BL22TloH.d.ts → server.BEdOJs6S.d.ts} +41 -62
- package/dist/shared/{server.GDpX6Df8.mjs → server.BFEVk-EI.mjs} +164 -70
- package/dist/shared/{server.BwHnWUuN.mjs → server.BgvqVW_v.mjs} +25 -20
- package/dist/shared/server.BllfVJLm.d.mts +34 -0
- package/dist/shared/server.COfbQ0D8.d.ts +34 -0
- package/dist/shared/{server.DBANIheG.d.ts → server.CVO0hWyj.d.mts} +24 -13
- package/dist/shared/{server.BsNNjG5J.d.mts → server.DD1roZl9.d.mts} +32 -20
- package/dist/shared/server.DFEuNUt4.d.ts +14 -0
- package/dist/shared/{server.DJIkub_t.d.mts → server.DJNkZPfD.d.ts} +24 -13
- package/dist/shared/{server.Pa0F03f_.d.ts → server.DZeVx8K9.d.ts} +32 -20
- package/dist/shared/{server.CrlKQucM.mjs → server.FEqy7Hrj.mjs} +25 -53
- package/dist/shared/server.UG_xdTub.d.mts +14 -0
- package/package.json +48 -14
- package/dist/shared/server.CX4vUnDk.mjs +0 -11
- package/dist/shared/server.Cj5lgPuG.d.mts +0 -66
- package/dist/shared/server.D_QauotT.mjs +0 -30
- package/dist/shared/server.d_2NS3g5.d.ts +0 -66
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { ORPCError } from '@orpc/client';
|
|
2
|
-
import { toArray } from '@orpc/shared';
|
|
3
|
-
import { flattenStandardHeader } from '@standardserver/core';
|
|
4
|
-
|
|
5
|
-
class CSRFGuardHandlerPlugin {
|
|
6
|
-
name = "~csrf-guard";
|
|
7
|
-
init(options) {
|
|
8
|
-
const interceptor = async (interceptorOptions) => {
|
|
9
|
-
const mode = flattenStandardHeader(
|
|
10
|
-
interceptorOptions.request.headers["sec-fetch-mode"]
|
|
11
|
-
)?.toLowerCase();
|
|
12
|
-
if (mode === void 0) {
|
|
13
|
-
return interceptorOptions.next();
|
|
14
|
-
}
|
|
15
|
-
if (mode === "cors" || mode === "same-origin") {
|
|
16
|
-
return interceptorOptions.next();
|
|
17
|
-
}
|
|
18
|
-
throw new ORPCError("FORBIDDEN", {
|
|
19
|
-
message: "Request blocked by CSRF protection."
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
return {
|
|
23
|
-
...options,
|
|
24
|
-
// appended last so user's interceptors can catch ORPCError
|
|
25
|
-
interceptors: [...toArray(options.interceptors), interceptor]
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export { CSRFGuardHandlerPlugin as C };
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { RPCSerializer, AnyORPCError } from '@orpc/client';
|
|
2
|
-
import { Value, Promisable } from '@orpc/shared';
|
|
3
|
-
import { StandardMethod, StandardLazyRequest, StandardResponse } from '@standardserver/core';
|
|
4
|
-
import { A as AnyProcedure, C as Context } from './server.BL22TloH.js';
|
|
5
|
-
import { A as AnyRouter } from './server.Pa0F03f_.js';
|
|
6
|
-
import { AnyProcedureContract } from '@orpc/contract';
|
|
7
|
-
import { b as StandardHandlerHandleOptions, c as StandardHandlerCodec, d as StandardHandlerCodecResolvedProcedure } from './server.DBANIheG.js';
|
|
8
|
-
|
|
9
|
-
interface RPCMatcherOptions {
|
|
10
|
-
/**
|
|
11
|
-
* Filter which procedures are exposed for matching. Return `false` to exclude.
|
|
12
|
-
*
|
|
13
|
-
* @default true
|
|
14
|
-
*/
|
|
15
|
-
filter?: Value<boolean, [procedure: AnyProcedureContract | AnyProcedure, path: string[]]>;
|
|
16
|
-
}
|
|
17
|
-
declare class RPCMatcher {
|
|
18
|
-
private readonly filter;
|
|
19
|
-
private readonly rootRouter;
|
|
20
|
-
private readonly tree;
|
|
21
|
-
private pendingLazyRouters;
|
|
22
|
-
constructor(router: AnyRouter, options?: RPCMatcherOptions);
|
|
23
|
-
private index;
|
|
24
|
-
match(_method: StandardMethod, pathname: `/${string}`, prefix: `/${string}` | undefined): Promise<{
|
|
25
|
-
path: string[];
|
|
26
|
-
procedure: AnyProcedure;
|
|
27
|
-
} | undefined>;
|
|
28
|
-
private matchPathname;
|
|
29
|
-
private resolvePendingLazyRouters;
|
|
30
|
-
private resolveProcedure;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
interface RPCHandlerCodecOptions<T extends Context> extends RPCMatcherOptions {
|
|
34
|
-
/**
|
|
35
|
-
* Override the default RPC serializer.
|
|
36
|
-
*/
|
|
37
|
-
serializer?: Pick<RPCSerializer, keyof RPCSerializer>;
|
|
38
|
-
/**
|
|
39
|
-
* Resolve HTTP status for encoded successful outputs.
|
|
40
|
-
*
|
|
41
|
-
* Value should be in range `200-299`
|
|
42
|
-
* Return `undefined` or `null` to fallback to default
|
|
43
|
-
*
|
|
44
|
-
* @default DEFAULT_ERROR_STATUS, DEFAULT_ERROR_STATUS
|
|
45
|
-
*/
|
|
46
|
-
outputStatus?: Value<number | undefined | null, [output: unknown, procedure: AnyProcedure, path: string[], options: StandardHandlerHandleOptions<T>]>;
|
|
47
|
-
/**
|
|
48
|
-
* Mapping ORPCError Code -> HTTP Status Code
|
|
49
|
-
*
|
|
50
|
-
* @default COMMON_ERROR_STATUS_MAP
|
|
51
|
-
*/
|
|
52
|
-
errorStatusMap?: Record<string, number> | undefined;
|
|
53
|
-
}
|
|
54
|
-
declare class RPCHandlerCodec<T extends Context> implements StandardHandlerCodec<T> {
|
|
55
|
-
private readonly matcher;
|
|
56
|
-
private readonly serializer;
|
|
57
|
-
private readonly errorStatusMap;
|
|
58
|
-
private readonly outputStatus;
|
|
59
|
-
constructor(router: AnyRouter, options?: RPCHandlerCodecOptions<T>);
|
|
60
|
-
resolveProcedure(request: StandardLazyRequest, options: StandardHandlerHandleOptions<T>): Promise<StandardHandlerCodecResolvedProcedure | undefined>;
|
|
61
|
-
encodeOutput(output: unknown, procedure: AnyProcedure, path: string[], options: StandardHandlerHandleOptions<T>): Promisable<StandardResponse>;
|
|
62
|
-
encodeError(error: AnyORPCError, _procedure: AnyProcedure, _path: string[], _options: StandardHandlerHandleOptions<T>): Promisable<StandardResponse>;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
export { RPCHandlerCodec as a, RPCMatcher as b };
|
|
66
|
-
export type { RPCHandlerCodecOptions as R, RPCMatcherOptions as c };
|