@atproto/xrpc-server 0.7.9 → 0.7.11
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/CHANGELOG.md +22 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +1 -1
- package/dist/auth.js.map +1 -1
- package/dist/rate-limiter.d.ts +1 -1
- package/dist/rate-limiter.d.ts.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +29 -6
- package/dist/server.js.map +1 -1
- package/dist/stream/frames.d.ts +1 -1
- package/dist/stream/frames.d.ts.map +1 -1
- package/dist/stream/server.d.ts +2 -2
- package/dist/stream/server.d.ts.map +1 -1
- package/dist/stream/server.js +3 -6
- package/dist/stream/server.js.map +1 -1
- package/dist/stream/stream.d.ts +1 -1
- package/dist/stream/stream.d.ts.map +1 -1
- package/dist/stream/stream.js +1 -1
- package/dist/stream/stream.js.map +1 -1
- package/dist/stream/subscription.js +1 -1
- package/dist/stream/subscription.js.map +1 -1
- package/dist/stream/websocket-keepalive.d.ts +1 -1
- package/dist/stream/websocket-keepalive.d.ts.map +1 -1
- package/dist/stream/websocket-keepalive.js +1 -1
- package/dist/stream/websocket-keepalive.js.map +1 -1
- package/dist/types.d.ts +50 -50
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +24 -27
- package/dist/types.js.map +1 -1
- package/dist/util.d.ts +2 -2
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +1 -1
- package/dist/util.js.map +1 -1
- package/jest.config.js +1 -0
- package/package.json +9 -6
- package/src/auth.ts +1 -1
- package/src/rate-limiter.ts +1 -1
- package/src/server.ts +21 -20
- package/src/stream/frames.ts +4 -4
- package/src/stream/server.ts +3 -3
- package/src/stream/stream.ts +3 -3
- package/src/stream/subscription.ts +1 -1
- package/src/stream/websocket-keepalive.ts +1 -1
- package/src/types.ts +33 -37
- package/src/util.ts +9 -10
- package/tests/_util.ts +1 -1
- package/tests/auth.test.ts +4 -4
- package/tests/bodies.test.ts +4 -4
- package/tests/errors.test.ts +1 -1
- package/tests/frames.test.ts +1 -1
- package/tests/ipld.test.ts +2 -2
- package/tests/parameters.test.ts +1 -1
- package/tests/procedures.test.ts +2 -2
- package/tests/queries.test.ts +1 -1
- package/tests/responses.test.ts +2 -2
- package/tests/stream.test.ts +3 -3
- package/tests/subscriptions.test.ts +5 -5
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,49 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.MethodNotImplementedError = exports.UpstreamTimeoutError = exports.NotEnoughResourcesError = exports.UpstreamFailureError = exports.InternalServerError = exports.RateLimitExceededError = exports.ForbiddenError = exports.AuthRequiredError = exports.InvalidRequestError = exports.XRPCError = exports.ResponseType = exports.isShared = exports.handlerError = exports.handlerPipeThrough = exports.handlerPipeThroughStream = exports.handlerPipeThroughBuffer = exports.handlerSuccess = exports.headersSchema = exports.handlerAuth = exports.handlerInput = void 0;
|
|
7
4
|
exports.isHandlerError = isHandlerError;
|
|
8
5
|
exports.isHandlerPipeThroughBuffer = isHandlerPipeThroughBuffer;
|
|
9
6
|
exports.isHandlerPipeThroughStream = isHandlerPipeThroughStream;
|
|
7
|
+
const node_stream_1 = require("node:stream");
|
|
8
|
+
const http_errors_1 = require("http-errors");
|
|
9
|
+
const zod_1 = require("zod");
|
|
10
10
|
const xrpc_1 = require("@atproto/xrpc");
|
|
11
11
|
Object.defineProperty(exports, "ResponseType", { enumerable: true, get: function () { return xrpc_1.ResponseType; } });
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
exports.handlerInput = zod_1.default.object({
|
|
16
|
-
encoding: zod_1.default.string(),
|
|
17
|
-
body: zod_1.default.any(),
|
|
12
|
+
exports.handlerInput = zod_1.z.object({
|
|
13
|
+
encoding: zod_1.z.string(),
|
|
14
|
+
body: zod_1.z.any(),
|
|
18
15
|
});
|
|
19
|
-
exports.handlerAuth = zod_1.
|
|
20
|
-
credentials: zod_1.
|
|
21
|
-
artifacts: zod_1.
|
|
16
|
+
exports.handlerAuth = zod_1.z.object({
|
|
17
|
+
credentials: zod_1.z.any(),
|
|
18
|
+
artifacts: zod_1.z.any(),
|
|
22
19
|
});
|
|
23
|
-
exports.headersSchema = zod_1.
|
|
24
|
-
exports.handlerSuccess = zod_1.
|
|
25
|
-
encoding: zod_1.
|
|
26
|
-
body: zod_1.
|
|
20
|
+
exports.headersSchema = zod_1.z.record(zod_1.z.string());
|
|
21
|
+
exports.handlerSuccess = zod_1.z.object({
|
|
22
|
+
encoding: zod_1.z.string(),
|
|
23
|
+
body: zod_1.z.any(),
|
|
27
24
|
headers: exports.headersSchema.optional(),
|
|
28
25
|
});
|
|
29
|
-
exports.handlerPipeThroughBuffer = zod_1.
|
|
30
|
-
encoding: zod_1.
|
|
31
|
-
buffer: zod_1.
|
|
26
|
+
exports.handlerPipeThroughBuffer = zod_1.z.object({
|
|
27
|
+
encoding: zod_1.z.string(),
|
|
28
|
+
buffer: zod_1.z.instanceof(Buffer),
|
|
32
29
|
headers: exports.headersSchema.optional(),
|
|
33
30
|
});
|
|
34
|
-
exports.handlerPipeThroughStream = zod_1.
|
|
35
|
-
encoding: zod_1.
|
|
36
|
-
stream: zod_1.
|
|
31
|
+
exports.handlerPipeThroughStream = zod_1.z.object({
|
|
32
|
+
encoding: zod_1.z.string(),
|
|
33
|
+
stream: zod_1.z.instanceof(node_stream_1.Readable),
|
|
37
34
|
headers: exports.headersSchema.optional(),
|
|
38
35
|
});
|
|
39
|
-
exports.handlerPipeThrough = zod_1.
|
|
36
|
+
exports.handlerPipeThrough = zod_1.z.union([
|
|
40
37
|
exports.handlerPipeThroughBuffer,
|
|
41
38
|
exports.handlerPipeThroughStream,
|
|
42
39
|
]);
|
|
43
|
-
exports.handlerError = zod_1.
|
|
44
|
-
status: zod_1.
|
|
45
|
-
error: zod_1.
|
|
46
|
-
message: zod_1.
|
|
40
|
+
exports.handlerError = zod_1.z.object({
|
|
41
|
+
status: zod_1.z.number(),
|
|
42
|
+
error: zod_1.z.string().optional(),
|
|
43
|
+
message: zod_1.z.string().optional(),
|
|
47
44
|
});
|
|
48
45
|
const isShared = (opts) => {
|
|
49
46
|
return typeof opts['name'] === 'string';
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/util.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IncomingMessage } from 'node:http';
|
|
2
2
|
import express from 'express';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { LexXrpcProcedure, LexXrpcQuery, LexXrpcSubscription, Lexicons } from '@atproto/lexicon';
|
|
4
|
+
import { HandlerInput, HandlerSuccess, Params, RouteOpts, UndecodedParams } from './types';
|
|
5
5
|
export declare function decodeQueryParams(def: LexXrpcProcedure | LexXrpcQuery | LexXrpcSubscription, params: UndecodedParams): Params;
|
|
6
6
|
export declare function decodeQueryParam(type: string, value: unknown): string | number | boolean | undefined;
|
|
7
7
|
export declare function getQueryParams(url?: string): Record<string, string | string[]>;
|
package/dist/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3C,OAAO,OAAO,MAAM,SAAS,CAAA;AAG7B,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,QAAQ,EAET,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,YAAY,EACZ,cAAc,EAGd,MAAM,EACN,SAAS,EACT,eAAe,EAGhB,MAAM,SAAS,CAAA;AAEhB,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,gBAAgB,GAAG,YAAY,GAAG,mBAAmB,EAC1D,MAAM,EAAE,eAAe,GACtB,MAAM,CAmBR;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAcvC;AAED,wBAAgB,cAAc,CAAC,GAAG,SAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAU1E;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,gBAAgB,GAAG,YAAY,EACpC,GAAG,EAAE,OAAO,CAAC,OAAO,EACpB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,QAAQ,GACjB,YAAY,GAAG,SAAS,CA+D1B;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,gBAAgB,GAAG,YAAY,EACpC,MAAM,EAAE,cAAc,GAAG,SAAS,EAClC,QAAQ,EAAE,QAAQ,GACjB,IAAI,CAwCN;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,OAOtC;AAmBD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAM5E;AAsDD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,UASzD;AAED,qBAAa,WAAY,YAAW,YAAY;IAIrC,IAAI,EAAE,MAAM;IACZ,WAAW,CAAC,EAAE,MAAM;IAJtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,OAAO,CAAC,CAAQ;gBAEf,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,YAAA;IAE7B,KAAK;IAIL,IAAI;CAKL;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,YAAY,QAAS,OAAO,CAAC,OAAO,GAAG,eAAe,WACI,CAAA;AAEvE;;GAEG;AACH,eAAO,MAAM,YAAY,QAAS,MAAM,KAAG,MA4D1C,CAAA"}
|
package/dist/util.js
CHANGED
|
@@ -15,8 +15,8 @@ exports.serverTimingHeader = serverTimingHeader;
|
|
|
15
15
|
const node_assert_1 = __importDefault(require("node:assert"));
|
|
16
16
|
const node_stream_1 = require("node:stream");
|
|
17
17
|
const mime_types_1 = __importDefault(require("mime-types"));
|
|
18
|
-
const lexicon_1 = require("@atproto/lexicon");
|
|
19
18
|
const common_1 = require("@atproto/common");
|
|
19
|
+
const lexicon_1 = require("@atproto/lexicon");
|
|
20
20
|
const xrpc_1 = require("@atproto/xrpc");
|
|
21
21
|
const types_1 = require("./types");
|
|
22
22
|
function decodeQueryParams(def, params) {
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;;AA0BA,8CAsBC;AAED,4CAiBC;AAED,wCAUC;AAED,sCAqEC;AAED,wCA6CC;AAED,sCAOC;AAmBD,gDAMC;AAsDD,gDASC;AAtSD,8DAAgC;AAEhC,6CAAwD;AAExD,4DAA6B;AAC7B,4CAAgE;AAChE,8CAMyB;AACzB,wCAA4C;AAC5C,mCAUgB;AAEhB,SAAgB,iBAAiB,CAC/B,GAA0D,EAC1D,MAAuB;IAEvB,MAAM,OAAO,GAAW,EAAE,CAAA;IAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAA;QAChD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAmB,EAAE,CAAA;gBAC/B,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;oBACd,CAAC,CAAC,IAAI;yBACD,MAAM,CAAC,GAAG,CAAC,CAAC,gBAAgB;yBAC5B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBACnE,CAAC,CAAC,SAAS,CAAA;YACf,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAgB,gBAAgB,CAC9B,IAAY,EACZ,KAAc;IAEd,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9B,CAAC;SAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;SAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,KAAK,KAAK,MAAM,CAAA;IACzB,CAAC;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,GAAG,GAAG,EAAE;IACrC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,UAAU,CAAC,CAAA;IACvD,MAAM,MAAM,GAAsC,EAAE,CAAA;IACpD,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAgB,aAAa,CAC3B,IAAY,EACZ,GAAoC,EACpC,GAAoB,EACpB,IAAe,EACf,QAAkB;IAElB,sBAAsB;IAEtB,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;IACzC,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,2BAAmB,CAC3B,oDAAoD,CACrD,CAAA;IACH,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACzB,OAAM;IACR,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC5C,MAAM,IAAI,2BAAmB,CAC3B,kDAAkD,CACnD,CAAA;IACH,CAAC;IAED,WAAW;IACX,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAA;IACtE,IACE,GAAG,CAAC,KAAK,EAAE,QAAQ;QACnB,CAAC,CAAC,aAAa,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,EACxE,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,2BAAmB,CAC3B,2DAA2D,CAC5D,CAAA;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,2BAAmB,CAC3B,0CAA0C,aAAa,EAAE,CAC1D,CAAA;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,gBAAgB;QAChB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,4BAA4B;IAC5B,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,mBAAS,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;YACzD,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,2BAAmB,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3E,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,qDAAqD;IACrD,IAAI,IAAI,CAAA;IACR,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACtB,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;IACjB,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,aAAa;QACvB,IAAI;KACL,CAAA;AACH,CAAC;AAED,SAAgB,cAAc,CAC5B,IAAY,EACZ,GAAoC,EACpC,MAAkC,EAClC,QAAkB;IAElB,qBAAqB;IACrB,IAAI,MAAM,EAAE,CAAC;QACX,sBAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC;IAED,uBAAuB;IACvB,IAAI,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,2BAAmB,CAC3B,qDAAqD,CACtD,CAAA;IACH,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,2BAAmB,CAC3B,mDAAmD,CACpD,CAAA;IACH,CAAC;IAED,WAAW;IACX,IACE,GAAG,CAAC,MAAM,EAAE,QAAQ;QACpB,CAAC,CAAC,MAAM,EAAE,QAAQ;YAChB,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,EAC3D,CAAC;QACD,MAAM,IAAI,2BAAmB,CAC3B,8BAA8B,MAAM,EAAE,QAAQ,EAAE,CACjD,CAAA;IACH,CAAC;IAED,gBAAgB;IAChB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YACjE,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,GAAG,MAAM,CAAA;YACtB,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,2BAAmB,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3E,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,aAAa,CAAC,CAAS;IACrC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IACpB,MAAM,QAAQ,GAAG,oBAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IACpC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3B,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACxC,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAA;IAC5B,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,WAAmB,EAAE,KAAa;IACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC5D,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAA;IAC7B,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACzC,OAAO,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;AACtC,CAAC;AAID,SAAS,eAAe,CAAC,GAAoB;IAC3C,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,IAAI;QAAE,OAAO,SAAS,CAAA;IAC9D,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,GAAG;QAAE,OAAO,OAAO,CAAA;IACzD,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,IAAI;QAAE,OAAO,SAAS,CAAA;IAC3D,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAgB,kBAAkB,CAAC,GAAoB;IACrD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAC7C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACrE,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAoB,EACpB,OAA2B;IAE3B,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACvD,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAEnD,MAAM,mBAAmB,GAAG,aAAa;QACvC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;QAC7B,CAAC,CAAC,SAAS,CAAA;IAEb,IAAI,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,iBAAS,CAAC,mBAAY,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAA;IAC5E,CAAC;IAED,IACE,OAAO,KAAK,SAAS;QACrB,mBAAmB,KAAK,SAAS;QACjC,mBAAmB,GAAG,OAAO,EAC7B,CAAC;QACD,MAAM,IAAI,iBAAS,CACjB,mBAAY,CAAC,eAAe,EAC5B,0BAA0B,CAC3B,CAAA;IACH,CAAC;IAED,IAAI,UAAoB,CAAA;IACxB,IAAI,CAAC;QACH,UAAU,GAAG,IAAA,uBAAc,EAAC,eAAe,CAAC,CAAA;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,iBAAS,CACjB,mBAAY,CAAC,oBAAoB,EACjC,8BAA8B,EAC9B,SAAS,EACT,EAAE,KAAK,EAAE,CACV,CAAA;IACH,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,cAAc,GAAG,IAAI,uBAAc,CACvC,OAAO,EACP,GAAG,EAAE,CACH,IAAI,iBAAS,CAAC,mBAAY,CAAC,eAAe,EAAE,0BAA0B,CAAC,CAC1E,CAAA;QACD,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IACjC,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC;QAC1B,CAAC,CAAE,IAAA,sBAAQ,EAAC,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAY;QACtD,CAAC,CAAC,GAAG,CAAA;AACT,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAuB;IACxD,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACd,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAA;QACxB,IAAI,MAAM,CAAC,QAAQ;YAAE,MAAM,IAAI,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAA;QACxD,IAAI,MAAM,CAAC,WAAW;YAAE,MAAM,IAAI,UAAU,MAAM,CAAC,WAAW,GAAG,CAAA;QACjE,OAAO,MAAM,CAAA;IACf,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC;AAED,MAAa,WAAW;IAGtB,YACS,IAAY,EACZ,WAAoB;QAD3B;;;;mBAAO,IAAI;WAAQ;QACnB;;;;mBAAO,WAAW;WAAS;QAJtB;;;;;WAAiB;QAChB;;;;;WAAgB;IAIrB,CAAC;IACJ,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI;QACF,IAAA,qBAAM,EAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAA;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAhBD,kCAgBC;AAQM,MAAM,YAAY,GAAG,CAAC,GAAsC,EAAE,EAAE,CACrE,IAAA,oBAAY,EAAC,aAAa,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAA;AAD1D,QAAA,YAAY,gBAC8C;AAEvE;;GAEG;AACI,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE;IAClD,eAAe;IAEf;IACE,mCAAmC;IACnC,GAAG,CAAC,MAAM,IAAI,CAAC;QACf,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;QACd,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;QACd,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;QACd,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;QACd,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;QACd,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EACd,CAAC;QACD,MAAM,IAAI,2BAAmB,CAAC,mBAAmB,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,CAAA;IAErB,IAAI,IAAI,GAAG,WAAW,CAAA;IACtB,IAAI,IAAY,CAAA;IAChB,IAAI,gBAAgB,GAAG,IAAI,CAAA;IAC3B,OAAO,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QACjC,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC3B,IACE,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,MAAM;YACpC,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,MAAM;YACpC,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,MAAM;UAClC,CAAC;YACD,gBAAgB,GAAG,KAAK,CAAA;QAC1B,CAAC;aAAM,IAAI,IAAI,KAAK,EAAE,CAAC,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC,SAAS,EAAE,CAAC;YAC1D,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,IAAI,2BAAmB,CAAC,mBAAmB,CAAC,CAAA;YACpD,CAAC;YACD,gBAAgB,GAAG,IAAI,CAAA;QACzB,CAAC;aAAM,IAAI,IAAI,KAAK,EAAE,CAAC,SAAS,EAAE,CAAC;YACjC,wDAAwD;YACxD,IAAI,IAAI,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC/D,MAAK;YACP,CAAC;YACD,MAAM,IAAI,2BAAmB,CAAC,mBAAmB,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,IAAI,KAAK,EAAE,CAAC,UAAU,EAAE,CAAC;YAClC,MAAK;QACP,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,2BAAmB,CAAC,mBAAmB,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,IAAI,2BAAmB,CAAC,mBAAmB,CAAC,CAAA;IACpD,CAAC;IAED,mDAAmD;IACnD,IAAI,IAAI,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,2BAAmB,CAAC,mBAAmB,CAAC,CAAA;IACpD,CAAC;IAED,yBAAyB;IAEzB,OAAO,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;AACrC,CAAC,CAAA;AA5DY,QAAA,YAAY,gBA4DxB"}
|
package/jest.config.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atproto/xrpc-server",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.11",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "atproto HTTP API (XRPC) server library",
|
|
6
6
|
"keywords": [
|
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
"url": "https://github.com/bluesky-social/atproto",
|
|
14
14
|
"directory": "packages/xrpc-server"
|
|
15
15
|
},
|
|
16
|
+
"engines": {
|
|
17
|
+
"node": ">=18.7.0"
|
|
18
|
+
},
|
|
16
19
|
"main": "dist/index.js",
|
|
17
20
|
"types": "dist/index.d.ts",
|
|
18
21
|
"dependencies": {
|
|
@@ -24,10 +27,10 @@
|
|
|
24
27
|
"uint8arrays": "3.0.0",
|
|
25
28
|
"ws": "^8.12.0",
|
|
26
29
|
"zod": "^3.23.8",
|
|
27
|
-
"@atproto/common": "^0.4.
|
|
28
|
-
"@atproto/crypto": "^0.4.
|
|
29
|
-
"@atproto/lexicon": "^0.4.
|
|
30
|
-
"@atproto/xrpc": "^0.6.
|
|
30
|
+
"@atproto/common": "^0.4.8",
|
|
31
|
+
"@atproto/crypto": "^0.4.4",
|
|
32
|
+
"@atproto/lexicon": "^0.4.7",
|
|
33
|
+
"@atproto/xrpc": "^0.6.9"
|
|
31
34
|
},
|
|
32
35
|
"devDependencies": {
|
|
33
36
|
"@types/express": "^4.17.13",
|
|
@@ -40,7 +43,7 @@
|
|
|
40
43
|
"key-encoder": "^2.0.3",
|
|
41
44
|
"multiformats": "^9.9.0",
|
|
42
45
|
"typescript": "^5.6.3",
|
|
43
|
-
"@atproto/crypto": "^0.4.
|
|
46
|
+
"@atproto/crypto": "^0.4.4"
|
|
44
47
|
},
|
|
45
48
|
"scripts": {
|
|
46
49
|
"test": "jest",
|
package/src/auth.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import * as ui8 from 'uint8arrays'
|
|
1
2
|
import * as common from '@atproto/common'
|
|
2
3
|
import { MINUTE } from '@atproto/common'
|
|
3
4
|
import * as crypto from '@atproto/crypto'
|
|
4
|
-
import * as ui8 from 'uint8arrays'
|
|
5
5
|
import { AuthRequiredError } from './types'
|
|
6
6
|
|
|
7
7
|
type ServiceJwtParams = {
|
package/src/rate-limiter.ts
CHANGED
package/src/server.ts
CHANGED
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
LexiconDoc,
|
|
4
|
-
Lexicons,
|
|
5
|
-
lexToJson,
|
|
6
|
-
LexXrpcProcedure,
|
|
7
|
-
LexXrpcQuery,
|
|
8
|
-
LexXrpcSubscription,
|
|
9
|
-
} from '@atproto/lexicon'
|
|
1
|
+
import { Readable } from 'node:stream'
|
|
2
|
+
import { pipeline } from 'node:stream/promises'
|
|
10
3
|
import express, {
|
|
11
4
|
Application,
|
|
12
5
|
ErrorRequestHandler,
|
|
@@ -16,10 +9,18 @@ import express, {
|
|
|
16
9
|
RequestHandler,
|
|
17
10
|
Response,
|
|
18
11
|
Router,
|
|
12
|
+
json as jsonParser,
|
|
13
|
+
text as textParser,
|
|
19
14
|
} from 'express'
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
|
|
15
|
+
import { check, schema } from '@atproto/common'
|
|
16
|
+
import {
|
|
17
|
+
LexXrpcProcedure,
|
|
18
|
+
LexXrpcQuery,
|
|
19
|
+
LexXrpcSubscription,
|
|
20
|
+
LexiconDoc,
|
|
21
|
+
Lexicons,
|
|
22
|
+
lexToJson,
|
|
23
|
+
} from '@atproto/lexicon'
|
|
23
24
|
import log from './logger'
|
|
24
25
|
import { consumeMany, resetMany } from './rate-limiter'
|
|
25
26
|
import { ErrorFrame, Frame, MessageFrame, XrpcStreamServer } from './stream'
|
|
@@ -30,21 +31,21 @@ import {
|
|
|
30
31
|
HandlerSuccess,
|
|
31
32
|
InternalServerError,
|
|
32
33
|
InvalidRequestError,
|
|
33
|
-
isHandlerError,
|
|
34
|
-
isHandlerPipeThroughBuffer,
|
|
35
|
-
isHandlerPipeThroughStream,
|
|
36
|
-
isShared,
|
|
37
34
|
MethodNotImplementedError,
|
|
38
35
|
Options,
|
|
39
36
|
Params,
|
|
40
|
-
RateLimiterI,
|
|
41
37
|
RateLimitExceededError,
|
|
38
|
+
RateLimiterI,
|
|
42
39
|
XRPCError,
|
|
43
40
|
XRPCHandler,
|
|
44
41
|
XRPCHandlerConfig,
|
|
45
42
|
XRPCReqContext,
|
|
46
43
|
XRPCStreamHandler,
|
|
47
44
|
XRPCStreamHandlerConfig,
|
|
45
|
+
isHandlerError,
|
|
46
|
+
isHandlerPipeThroughBuffer,
|
|
47
|
+
isHandlerPipeThroughStream,
|
|
48
|
+
isShared,
|
|
48
49
|
} from './types'
|
|
49
50
|
import {
|
|
50
51
|
decodeQueryParams,
|
|
@@ -59,7 +60,7 @@ export function createServer(lexicons?: LexiconDoc[], options?: Options) {
|
|
|
59
60
|
|
|
60
61
|
export class Server {
|
|
61
62
|
router: Express = express()
|
|
62
|
-
routes: Router =
|
|
63
|
+
routes: Router = Router()
|
|
63
64
|
subscriptions = new Map<string, XrpcStreamServer>()
|
|
64
65
|
lex = new Lexicons()
|
|
65
66
|
options: Options
|
|
@@ -80,8 +81,8 @@ export class Server {
|
|
|
80
81
|
})
|
|
81
82
|
this.options = opts
|
|
82
83
|
this.middleware = {
|
|
83
|
-
json:
|
|
84
|
-
text:
|
|
84
|
+
json: jsonParser({ limit: opts?.payload?.jsonLimit }),
|
|
85
|
+
text: textParser({ limit: opts?.payload?.textLimit }),
|
|
85
86
|
}
|
|
86
87
|
this.globalRateLimiters = []
|
|
87
88
|
this.sharedRateLimiters = {}
|
package/src/stream/frames.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as uint8arrays from 'uint8arrays'
|
|
2
|
-
import {
|
|
2
|
+
import { cborDecodeMulti, cborEncode } from '@atproto/common'
|
|
3
3
|
import {
|
|
4
|
-
|
|
4
|
+
ErrorFrameBody,
|
|
5
|
+
ErrorFrameHeader,
|
|
5
6
|
FrameHeader,
|
|
6
7
|
FrameType,
|
|
7
8
|
MessageFrameHeader,
|
|
8
|
-
ErrorFrameHeader,
|
|
9
|
-
ErrorFrameBody,
|
|
10
9
|
errorFrameBody,
|
|
10
|
+
frameHeader,
|
|
11
11
|
} from './types'
|
|
12
12
|
|
|
13
13
|
export abstract class Frame {
|
package/src/stream/server.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { IncomingMessage } from 'http'
|
|
2
|
-
import {
|
|
1
|
+
import { IncomingMessage } from 'node:http'
|
|
2
|
+
import { ServerOptions, WebSocket, WebSocketServer } from 'ws'
|
|
3
3
|
import { ErrorFrame, Frame } from './frames'
|
|
4
|
-
import logger from './logger'
|
|
4
|
+
import { logger } from './logger'
|
|
5
5
|
import { CloseCode, DisconnectError } from './types'
|
|
6
6
|
|
|
7
7
|
export class XrpcStreamServer {
|
package/src/stream/stream.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { DuplexOptions } from 'node:stream'
|
|
2
|
+
import { WebSocket, createWebSocketStream } from 'ws'
|
|
3
|
+
import { ResponseType, XRPCError } from '@atproto/xrpc'
|
|
4
4
|
import { Frame, MessageFrame } from './frames'
|
|
5
5
|
|
|
6
6
|
export function streamByteChunks(ws: WebSocket, options?: DuplexOptions) {
|
package/src/types.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
+
import { IncomingMessage } from 'node:http'
|
|
2
|
+
import { Readable } from 'node:stream'
|
|
3
|
+
import express from 'express'
|
|
4
|
+
import { isHttpError } from 'http-errors'
|
|
5
|
+
import { z } from 'zod'
|
|
1
6
|
import {
|
|
2
7
|
ResponseType,
|
|
3
8
|
ResponseTypeNames,
|
|
4
9
|
ResponseTypeStrings,
|
|
5
10
|
XRPCError as XRPCClientError,
|
|
6
11
|
} from '@atproto/xrpc'
|
|
7
|
-
import express from 'express'
|
|
8
|
-
import { IncomingMessage } from 'http'
|
|
9
|
-
import { isHttpError } from 'http-errors'
|
|
10
|
-
import { Readable } from 'stream'
|
|
11
|
-
import zod from 'zod'
|
|
12
12
|
|
|
13
13
|
export type CatchallHandler = (
|
|
14
14
|
req: express.Request,
|
|
@@ -47,60 +47,56 @@ export type UndecodedParams = (typeof express.request)['query']
|
|
|
47
47
|
export type Primitive = string | number | boolean
|
|
48
48
|
export type Params = Record<string, Primitive | Primitive[] | undefined>
|
|
49
49
|
|
|
50
|
-
export const handlerInput =
|
|
51
|
-
encoding:
|
|
52
|
-
body:
|
|
50
|
+
export const handlerInput = z.object({
|
|
51
|
+
encoding: z.string(),
|
|
52
|
+
body: z.any(),
|
|
53
53
|
})
|
|
54
|
-
export type HandlerInput =
|
|
54
|
+
export type HandlerInput = z.infer<typeof handlerInput>
|
|
55
55
|
|
|
56
|
-
export const handlerAuth =
|
|
57
|
-
credentials:
|
|
58
|
-
artifacts:
|
|
56
|
+
export const handlerAuth = z.object({
|
|
57
|
+
credentials: z.any(),
|
|
58
|
+
artifacts: z.any(),
|
|
59
59
|
})
|
|
60
|
-
export type HandlerAuth =
|
|
60
|
+
export type HandlerAuth = z.infer<typeof handlerAuth>
|
|
61
61
|
|
|
62
|
-
export const headersSchema =
|
|
62
|
+
export const headersSchema = z.record(z.string())
|
|
63
63
|
|
|
64
|
-
export const handlerSuccess =
|
|
65
|
-
encoding:
|
|
66
|
-
body:
|
|
64
|
+
export const handlerSuccess = z.object({
|
|
65
|
+
encoding: z.string(),
|
|
66
|
+
body: z.any(),
|
|
67
67
|
headers: headersSchema.optional(),
|
|
68
68
|
})
|
|
69
|
-
export type HandlerSuccess =
|
|
69
|
+
export type HandlerSuccess = z.infer<typeof handlerSuccess>
|
|
70
70
|
|
|
71
|
-
export const handlerPipeThroughBuffer =
|
|
72
|
-
encoding:
|
|
73
|
-
buffer:
|
|
71
|
+
export const handlerPipeThroughBuffer = z.object({
|
|
72
|
+
encoding: z.string(),
|
|
73
|
+
buffer: z.instanceof(Buffer),
|
|
74
74
|
headers: headersSchema.optional(),
|
|
75
75
|
})
|
|
76
76
|
|
|
77
|
-
export type HandlerPipeThroughBuffer =
|
|
78
|
-
typeof handlerPipeThroughBuffer
|
|
79
|
-
>
|
|
77
|
+
export type HandlerPipeThroughBuffer = z.infer<typeof handlerPipeThroughBuffer>
|
|
80
78
|
|
|
81
|
-
export const handlerPipeThroughStream =
|
|
82
|
-
encoding:
|
|
83
|
-
stream:
|
|
79
|
+
export const handlerPipeThroughStream = z.object({
|
|
80
|
+
encoding: z.string(),
|
|
81
|
+
stream: z.instanceof(Readable),
|
|
84
82
|
headers: headersSchema.optional(),
|
|
85
83
|
})
|
|
86
84
|
|
|
87
|
-
export type HandlerPipeThroughStream =
|
|
88
|
-
typeof handlerPipeThroughStream
|
|
89
|
-
>
|
|
85
|
+
export type HandlerPipeThroughStream = z.infer<typeof handlerPipeThroughStream>
|
|
90
86
|
|
|
91
|
-
export const handlerPipeThrough =
|
|
87
|
+
export const handlerPipeThrough = z.union([
|
|
92
88
|
handlerPipeThroughBuffer,
|
|
93
89
|
handlerPipeThroughStream,
|
|
94
90
|
])
|
|
95
91
|
|
|
96
|
-
export type HandlerPipeThrough =
|
|
92
|
+
export type HandlerPipeThrough = z.infer<typeof handlerPipeThrough>
|
|
97
93
|
|
|
98
|
-
export const handlerError =
|
|
99
|
-
status:
|
|
100
|
-
error:
|
|
101
|
-
message:
|
|
94
|
+
export const handlerError = z.object({
|
|
95
|
+
status: z.number(),
|
|
96
|
+
error: z.string().optional(),
|
|
97
|
+
message: z.string().optional(),
|
|
102
98
|
})
|
|
103
|
-
export type HandlerError =
|
|
99
|
+
export type HandlerError = z.infer<typeof handlerError>
|
|
104
100
|
|
|
105
101
|
export type HandlerOutput = HandlerSuccess | HandlerPipeThrough | HandlerError
|
|
106
102
|
|
package/src/util.ts
CHANGED
|
@@ -1,28 +1,27 @@
|
|
|
1
1
|
import assert from 'node:assert'
|
|
2
|
-
import { Duplex, pipeline, Readable } from 'node:stream'
|
|
3
2
|
import { IncomingMessage } from 'node:http'
|
|
3
|
+
import { Duplex, Readable, pipeline } from 'node:stream'
|
|
4
4
|
import express from 'express'
|
|
5
5
|
import mime from 'mime-types'
|
|
6
|
+
import { MaxSizeChecker, createDecoders } from '@atproto/common'
|
|
6
7
|
import {
|
|
7
|
-
jsonToLex,
|
|
8
|
-
Lexicons,
|
|
9
8
|
LexXrpcProcedure,
|
|
10
9
|
LexXrpcQuery,
|
|
11
10
|
LexXrpcSubscription,
|
|
11
|
+
Lexicons,
|
|
12
|
+
jsonToLex,
|
|
12
13
|
} from '@atproto/lexicon'
|
|
13
|
-
import { createDecoders, MaxSizeChecker } from '@atproto/common'
|
|
14
14
|
import { ResponseType } from '@atproto/xrpc'
|
|
15
|
-
|
|
16
15
|
import {
|
|
17
|
-
UndecodedParams,
|
|
18
|
-
Params,
|
|
19
16
|
HandlerInput,
|
|
20
17
|
HandlerSuccess,
|
|
21
|
-
handlerSuccess,
|
|
22
|
-
InvalidRequestError,
|
|
23
18
|
InternalServerError,
|
|
24
|
-
|
|
19
|
+
InvalidRequestError,
|
|
20
|
+
Params,
|
|
25
21
|
RouteOpts,
|
|
22
|
+
UndecodedParams,
|
|
23
|
+
XRPCError,
|
|
24
|
+
handlerSuccess,
|
|
26
25
|
} from './types'
|
|
27
26
|
|
|
28
27
|
export function decodeQueryParams(
|
package/tests/_util.ts
CHANGED
package/tests/auth.test.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as http from 'node:http'
|
|
2
1
|
import { KeyObject, createPrivateKey } from 'node:crypto'
|
|
2
|
+
import * as http from 'node:http'
|
|
3
3
|
import { AddressInfo } from 'node:net'
|
|
4
4
|
import * as jose from 'jose'
|
|
5
5
|
import KeyEncoder from 'key-encoder'
|
|
@@ -7,13 +7,13 @@ import * as ui8 from 'uint8arrays'
|
|
|
7
7
|
import { MINUTE } from '@atproto/common'
|
|
8
8
|
import { Secp256k1Keypair } from '@atproto/crypto'
|
|
9
9
|
import { LexiconDoc } from '@atproto/lexicon'
|
|
10
|
-
import {
|
|
10
|
+
import { XRPCError, XrpcClient } from '@atproto/xrpc'
|
|
11
11
|
import * as xrpcServer from '../src'
|
|
12
12
|
import {
|
|
13
|
-
|
|
13
|
+
basicAuthHeaders,
|
|
14
14
|
closeServer,
|
|
15
15
|
createBasicAuth,
|
|
16
|
-
|
|
16
|
+
createServer,
|
|
17
17
|
} from './_util'
|
|
18
18
|
|
|
19
19
|
const LEXICONS: LexiconDoc[] = [
|
package/tests/bodies.test.ts
CHANGED
|
@@ -2,13 +2,13 @@ import * as http from 'node:http'
|
|
|
2
2
|
import { AddressInfo } from 'node:net'
|
|
3
3
|
import { Readable } from 'node:stream'
|
|
4
4
|
import { brotliCompressSync, deflateSync, gzipSync } from 'node:zlib'
|
|
5
|
-
import { LexiconDoc } from '@atproto/lexicon'
|
|
6
|
-
import { ResponseType, XrpcClient } from '@atproto/xrpc'
|
|
7
5
|
import { cidForCbor } from '@atproto/common'
|
|
8
6
|
import { randomBytes } from '@atproto/crypto'
|
|
9
|
-
import {
|
|
7
|
+
import { LexiconDoc } from '@atproto/lexicon'
|
|
8
|
+
import { ResponseType, XrpcClient } from '@atproto/xrpc'
|
|
10
9
|
import * as xrpcServer from '../src'
|
|
11
|
-
import logger from '../src/logger'
|
|
10
|
+
import { logger } from '../src/logger'
|
|
11
|
+
import { closeServer, createServer } from './_util'
|
|
12
12
|
|
|
13
13
|
const LEXICONS: LexiconDoc[] = [
|
|
14
14
|
{
|