@sapphire/plugin-api 7.0.0-next.03b2a90 → 7.0.0-next.1054b61
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 +0 -1
- package/dist/cjs/index.cjs +23 -9
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +207 -114
- package/dist/cjs/lib/structures/Augmentations.d.cjs +1 -1
- package/dist/cjs/lib/structures/Augmentations.d.cjs.map +1 -1
- package/dist/cjs/lib/structures/MediaParser.cjs +1 -1
- package/dist/cjs/lib/structures/MediaParser.cjs.map +1 -1
- package/dist/cjs/lib/structures/MediaParserStore.cjs +1 -1
- package/dist/cjs/lib/structures/MediaParserStore.cjs.map +1 -1
- package/dist/cjs/lib/structures/Middleware.cjs +2 -2
- package/dist/cjs/lib/structures/Middleware.cjs.map +1 -1
- package/dist/cjs/lib/structures/MiddlewareStore.cjs +4 -4
- package/dist/cjs/lib/structures/MiddlewareStore.cjs.map +1 -1
- package/dist/cjs/lib/structures/Route.cjs +15 -12
- package/dist/cjs/lib/structures/Route.cjs.map +1 -1
- package/dist/cjs/lib/structures/RouteLoaderStrategy.cjs +3 -11
- package/dist/cjs/lib/structures/RouteLoaderStrategy.cjs.map +1 -1
- package/dist/cjs/lib/structures/RouteStore.cjs +4 -42
- package/dist/cjs/lib/structures/RouteStore.cjs.map +1 -1
- package/dist/cjs/lib/structures/api/ApiRequest.cjs +27 -1
- package/dist/cjs/lib/structures/api/ApiRequest.cjs.map +1 -1
- package/dist/cjs/lib/structures/api/ApiResponse.cjs +8 -2
- package/dist/cjs/lib/structures/api/ApiResponse.cjs.map +1 -1
- package/dist/cjs/lib/structures/api/CookieStore.cjs +1 -1
- package/dist/cjs/lib/structures/api/CookieStore.cjs.map +1 -1
- package/dist/cjs/lib/structures/http/Auth.cjs +2 -2
- package/dist/cjs/lib/structures/http/Auth.cjs.map +1 -1
- package/dist/cjs/lib/structures/http/HttpCodes.cjs +1 -1
- package/dist/cjs/lib/structures/http/HttpCodes.cjs.map +1 -1
- package/dist/cjs/lib/structures/http/HttpMethods.cjs +1 -1
- package/dist/cjs/lib/structures/http/HttpMethods.cjs.map +1 -1
- package/dist/cjs/lib/structures/http/Server.cjs +16 -15
- package/dist/cjs/lib/structures/http/Server.cjs.map +1 -1
- package/dist/cjs/lib/structures/router/RouterBranch.cjs +184 -0
- package/dist/cjs/lib/structures/router/RouterBranch.cjs.map +1 -0
- package/dist/cjs/lib/structures/router/RouterNode.cjs +67 -0
- package/dist/cjs/lib/structures/router/RouterNode.cjs.map +1 -0
- package/dist/cjs/lib/structures/router/RouterRoot.cjs +71 -0
- package/dist/cjs/lib/structures/router/RouterRoot.cjs.map +1 -0
- package/dist/cjs/lib/utils/MimeTypes.cjs +1 -1
- package/dist/cjs/lib/utils/MimeTypes.cjs.map +1 -1
- package/dist/cjs/listeners/PluginRouteError.cjs +3 -3
- package/dist/cjs/listeners/PluginRouteError.cjs.map +1 -1
- package/dist/cjs/listeners/PluginServerMiddlewareError.cjs +3 -3
- package/dist/cjs/listeners/PluginServerMiddlewareError.cjs.map +1 -1
- package/dist/cjs/listeners/PluginServerMiddlewareSuccess.cjs +5 -5
- package/dist/cjs/listeners/PluginServerMiddlewareSuccess.cjs.map +1 -1
- package/dist/cjs/listeners/PluginServerRequest.cjs +42 -8
- package/dist/cjs/listeners/PluginServerRequest.cjs.map +1 -1
- package/dist/cjs/listeners/{PluginServerMatch.cjs → PluginServerRouterBranchMethodNotAllowed.cjs} +5 -10
- package/dist/cjs/listeners/PluginServerRouterBranchMethodNotAllowed.cjs.map +1 -0
- package/dist/cjs/listeners/{PluginServerNoMatch.cjs → PluginServerRouterBranchNotFound.cjs} +3 -3
- package/dist/cjs/listeners/PluginServerRouterBranchNotFound.cjs.map +1 -0
- package/dist/cjs/listeners/PluginServerRouterFound.cjs +22 -0
- package/dist/cjs/listeners/PluginServerRouterFound.cjs.map +1 -0
- package/dist/cjs/listeners/_load.cjs +7 -5
- package/dist/cjs/listeners/_load.cjs.map +1 -1
- package/dist/cjs/mediaParsers/_load.cjs +1 -1
- package/dist/cjs/mediaParsers/_load.cjs.map +1 -1
- package/dist/cjs/mediaParsers/applicationFormUrlEncoded.cjs +1 -1
- package/dist/cjs/mediaParsers/applicationFormUrlEncoded.cjs.map +1 -1
- package/dist/cjs/mediaParsers/applicationJson.cjs +1 -1
- package/dist/cjs/mediaParsers/applicationJson.cjs.map +1 -1
- package/dist/cjs/mediaParsers/textPlain.cjs +1 -1
- package/dist/cjs/mediaParsers/textPlain.cjs.map +1 -1
- package/dist/cjs/middlewares/_load.cjs +1 -1
- package/dist/cjs/middlewares/_load.cjs.map +1 -1
- package/dist/cjs/middlewares/auth.cjs +2 -2
- package/dist/cjs/middlewares/auth.cjs.map +1 -1
- package/dist/cjs/middlewares/body.cjs +6 -5
- package/dist/cjs/middlewares/body.cjs.map +1 -1
- package/dist/cjs/middlewares/cookies.cjs +1 -1
- package/dist/cjs/middlewares/cookies.cjs.map +1 -1
- package/dist/cjs/middlewares/headers.cjs +10 -11
- package/dist/cjs/middlewares/headers.cjs.map +1 -1
- package/dist/cjs/register.cjs +1 -1
- package/dist/cjs/register.cjs.map +1 -1
- package/dist/cjs/routes/_load.cjs +1 -1
- package/dist/cjs/routes/_load.cjs.map +1 -1
- package/dist/cjs/routes/oauth/callback.post.cjs +2 -2
- package/dist/cjs/routes/oauth/callback.post.cjs.map +1 -1
- package/dist/cjs/routes/oauth/logout.post.cjs +1 -1
- package/dist/cjs/routes/oauth/logout.post.cjs.map +1 -1
- package/dist/esm/{chunk-JTFKMR4I.mjs → chunk-S573YWRP.mjs} +4 -3
- package/dist/esm/chunk-S573YWRP.mjs.map +1 -0
- package/dist/esm/index.d.mts +207 -114
- package/dist/esm/index.mjs +6 -4
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/lib/structures/Augmentations.d.mjs +1 -1
- package/dist/esm/lib/structures/Augmentations.d.mjs.map +1 -1
- package/dist/esm/lib/structures/MediaParser.mjs +2 -2
- package/dist/esm/lib/structures/MediaParser.mjs.map +1 -1
- package/dist/esm/lib/structures/MediaParserStore.mjs +2 -2
- package/dist/esm/lib/structures/MediaParserStore.mjs.map +1 -1
- package/dist/esm/lib/structures/Middleware.mjs +2 -2
- package/dist/esm/lib/structures/Middleware.mjs.map +1 -1
- package/dist/esm/lib/structures/MiddlewareStore.mjs +4 -4
- package/dist/esm/lib/structures/MiddlewareStore.mjs.map +1 -1
- package/dist/esm/lib/structures/Route.mjs +16 -13
- package/dist/esm/lib/structures/Route.mjs.map +1 -1
- package/dist/esm/lib/structures/RouteLoaderStrategy.mjs +4 -12
- package/dist/esm/lib/structures/RouteLoaderStrategy.mjs.map +1 -1
- package/dist/esm/lib/structures/RouteStore.mjs +4 -42
- package/dist/esm/lib/structures/RouteStore.mjs.map +1 -1
- package/dist/esm/lib/structures/api/ApiRequest.mjs +28 -2
- package/dist/esm/lib/structures/api/ApiRequest.mjs.map +1 -1
- package/dist/esm/lib/structures/api/ApiResponse.mjs +8 -2
- package/dist/esm/lib/structures/api/ApiResponse.mjs.map +1 -1
- package/dist/esm/lib/structures/api/CookieStore.mjs +2 -2
- package/dist/esm/lib/structures/api/CookieStore.mjs.map +1 -1
- package/dist/esm/lib/structures/http/Auth.mjs +2 -2
- package/dist/esm/lib/structures/http/Auth.mjs.map +1 -1
- package/dist/esm/lib/structures/http/HttpCodes.mjs +2 -2
- package/dist/esm/lib/structures/http/HttpCodes.mjs.map +1 -1
- package/dist/esm/lib/structures/http/HttpMethods.mjs +2 -2
- package/dist/esm/lib/structures/http/HttpMethods.mjs.map +1 -1
- package/dist/esm/lib/structures/http/Server.mjs +17 -16
- package/dist/esm/lib/structures/http/Server.mjs.map +1 -1
- package/dist/esm/lib/structures/router/RouterBranch.mjs +179 -0
- package/dist/esm/lib/structures/router/RouterBranch.mjs.map +1 -0
- package/dist/esm/lib/structures/router/RouterNode.mjs +56 -0
- package/dist/esm/lib/structures/router/RouterNode.mjs.map +1 -0
- package/dist/esm/lib/structures/router/RouterRoot.mjs +68 -0
- package/dist/esm/lib/structures/router/RouterRoot.mjs.map +1 -0
- package/dist/esm/lib/utils/MimeTypes.mjs +2 -2
- package/dist/esm/lib/utils/MimeTypes.mjs.map +1 -1
- package/dist/esm/listeners/PluginRouteError.mjs +5 -5
- package/dist/esm/listeners/PluginRouteError.mjs.map +1 -1
- package/dist/esm/listeners/PluginServerMiddlewareError.mjs +5 -5
- package/dist/esm/listeners/PluginServerMiddlewareError.mjs.map +1 -1
- package/dist/esm/listeners/PluginServerMiddlewareSuccess.mjs +7 -7
- package/dist/esm/listeners/PluginServerMiddlewareSuccess.mjs.map +1 -1
- package/dist/esm/listeners/PluginServerRequest.mjs +38 -10
- package/dist/esm/listeners/PluginServerRequest.mjs.map +1 -1
- package/dist/esm/listeners/PluginServerRouterBranchMethodNotAllowed.mjs +18 -0
- package/dist/esm/listeners/PluginServerRouterBranchMethodNotAllowed.mjs.map +1 -0
- package/dist/esm/listeners/{PluginServerNoMatch.mjs → PluginServerRouterBranchNotFound.mjs} +5 -5
- package/dist/esm/listeners/PluginServerRouterBranchNotFound.mjs.map +1 -0
- package/dist/esm/listeners/PluginServerRouterFound.mjs +19 -0
- package/dist/esm/listeners/PluginServerRouterFound.mjs.map +1 -0
- package/dist/esm/listeners/_load.mjs +14 -12
- package/dist/esm/listeners/_load.mjs.map +1 -1
- package/dist/esm/mediaParsers/_load.mjs +2 -2
- package/dist/esm/mediaParsers/_load.mjs.map +1 -1
- package/dist/esm/mediaParsers/applicationFormUrlEncoded.mjs +2 -2
- package/dist/esm/mediaParsers/applicationFormUrlEncoded.mjs.map +1 -1
- package/dist/esm/mediaParsers/applicationJson.mjs +2 -2
- package/dist/esm/mediaParsers/applicationJson.mjs.map +1 -1
- package/dist/esm/mediaParsers/textPlain.mjs +2 -2
- package/dist/esm/mediaParsers/textPlain.mjs.map +1 -1
- package/dist/esm/middlewares/_load.mjs +2 -2
- package/dist/esm/middlewares/_load.mjs.map +1 -1
- package/dist/esm/middlewares/auth.mjs +2 -2
- package/dist/esm/middlewares/auth.mjs.map +1 -1
- package/dist/esm/middlewares/body.mjs +6 -5
- package/dist/esm/middlewares/body.mjs.map +1 -1
- package/dist/esm/middlewares/cookies.mjs +2 -2
- package/dist/esm/middlewares/cookies.mjs.map +1 -1
- package/dist/esm/middlewares/headers.mjs +11 -12
- package/dist/esm/middlewares/headers.mjs.map +1 -1
- package/dist/esm/register.mjs +2 -2
- package/dist/esm/register.mjs.map +1 -1
- package/dist/esm/routes/_load.mjs +2 -2
- package/dist/esm/routes/_load.mjs.map +1 -1
- package/dist/esm/routes/oauth/callback.post.mjs +2 -2
- package/dist/esm/routes/oauth/callback.post.mjs.map +1 -1
- package/dist/esm/routes/oauth/logout.post.mjs +2 -2
- package/dist/esm/routes/oauth/logout.post.mjs.map +1 -1
- package/package.json +8 -7
- package/dist/cjs/lib/utils/RouteData.cjs +0 -62
- package/dist/cjs/lib/utils/RouteData.cjs.map +0 -1
- package/dist/cjs/listeners/PluginServerMatch.cjs.map +0 -1
- package/dist/cjs/listeners/PluginServerNoMatch.cjs.map +0 -1
- package/dist/esm/chunk-JTFKMR4I.mjs.map +0 -1
- package/dist/esm/lib/utils/RouteData.mjs +0 -56
- package/dist/esm/lib/utils/RouteData.mjs.map +0 -1
- package/dist/esm/listeners/PluginServerMatch.mjs +0 -23
- package/dist/esm/listeners/PluginServerMatch.mjs.map +0 -1
- package/dist/esm/listeners/PluginServerNoMatch.mjs.map +0 -1
|
@@ -2,31 +2,65 @@
|
|
|
2
2
|
|
|
3
3
|
var framework = require('@sapphire/framework');
|
|
4
4
|
var Server_cjs = require('../lib/structures/http/Server.cjs');
|
|
5
|
+
var RouterRoot_cjs = require('../lib/structures/router/RouterRoot.cjs');
|
|
5
6
|
|
|
6
7
|
var __defProp = Object.defineProperty;
|
|
8
|
+
var __typeError = (msg) => {
|
|
9
|
+
throw TypeError(msg);
|
|
10
|
+
};
|
|
7
11
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
13
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
14
|
+
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
15
|
+
var _PluginListener_instances, parseURL_fn;
|
|
8
16
|
var _PluginListener = class _PluginListener extends framework.Listener {
|
|
9
17
|
constructor(context) {
|
|
10
|
-
super(context, { emitter: "server", event: Server_cjs.
|
|
18
|
+
super(context, { emitter: "server", event: Server_cjs.ServerEvent.Request });
|
|
19
|
+
__privateAdd(this, _PluginListener_instances);
|
|
11
20
|
}
|
|
12
21
|
async run(request, response) {
|
|
13
|
-
const
|
|
22
|
+
const { parts, querystring } = __privateMethod(this, _PluginListener_instances, parseURL_fn).call(this, request.url);
|
|
23
|
+
request.query = Object.fromEntries(new URLSearchParams(querystring).entries());
|
|
24
|
+
const branch = this.container.server.routes.router.find(parts);
|
|
25
|
+
const node = branch ? branch.node : null;
|
|
26
|
+
const route = node ? node.get(request.method ?? "GET") : null;
|
|
27
|
+
if (node !== null) {
|
|
28
|
+
request.params = node.extractParameters(parts);
|
|
29
|
+
}
|
|
30
|
+
request.routerNode = node;
|
|
31
|
+
request.route = route;
|
|
14
32
|
try {
|
|
15
|
-
await this.container.server.middlewares.run(request, response
|
|
33
|
+
await this.container.server.middlewares.run(request, response);
|
|
16
34
|
} catch (error) {
|
|
17
|
-
this.container.server.emit(Server_cjs.
|
|
35
|
+
this.container.server.emit(Server_cjs.ServerEvent.MiddlewareError, error, request, response);
|
|
18
36
|
return;
|
|
19
37
|
}
|
|
20
|
-
if (
|
|
21
|
-
this.container.server.emit(Server_cjs.
|
|
38
|
+
if (branch === null) {
|
|
39
|
+
this.container.server.emit(Server_cjs.ServerEvent.RouterBranchNotFound, request, response);
|
|
40
|
+
} else if (route === null) {
|
|
41
|
+
this.container.server.emit(Server_cjs.ServerEvent.RouterBranchMethodNotAllowed, request, response, branch);
|
|
22
42
|
} else {
|
|
23
|
-
this.container.server.emit(Server_cjs.
|
|
43
|
+
this.container.server.emit(Server_cjs.ServerEvent.RouterFound, request, response);
|
|
24
44
|
}
|
|
25
45
|
}
|
|
26
46
|
};
|
|
47
|
+
_PluginListener_instances = new WeakSet();
|
|
48
|
+
parseURL_fn = /* @__PURE__ */ __name(function(url = "") {
|
|
49
|
+
const index = url.indexOf("?");
|
|
50
|
+
let pathname;
|
|
51
|
+
let querystring;
|
|
52
|
+
if (index === -1) {
|
|
53
|
+
pathname = url;
|
|
54
|
+
querystring = "";
|
|
55
|
+
} else {
|
|
56
|
+
pathname = url.substring(0, index);
|
|
57
|
+
querystring = url.substring(index + 1);
|
|
58
|
+
}
|
|
59
|
+
return { parts: RouterRoot_cjs.RouterRoot.normalize(pathname), querystring };
|
|
60
|
+
}, "#parseURL");
|
|
27
61
|
__name(_PluginListener, "PluginListener");
|
|
28
62
|
var PluginListener = _PluginListener;
|
|
29
63
|
|
|
30
64
|
exports.PluginListener = PluginListener;
|
|
31
|
-
//# sourceMappingURL=
|
|
65
|
+
//# sourceMappingURL=PluginServerRequest.cjs.map
|
|
32
66
|
//# sourceMappingURL=PluginServerRequest.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/listeners/PluginServerRequest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/listeners/PluginServerRequest.ts"],"names":["Listener","ServerEvent","RouterRoot"],"mappings":";;;;;;;;;;;;;;AAAA,IAAA,yBAAA,EAAA,WAAA,CAAA;AAOO,IAAM,eAAA,GAAN,MAAM,eAAA,SAAuBA,kBAAS,CAAA;AAAA,EACrC,YAAY,OAAiC,EAAA;AACnD,IAAA,KAAA,CAAM,SAAS,EAAE,OAAA,EAAS,UAAU,KAAO,EAAAC,sBAAA,CAAY,SAAS,CAAA,CAAA;AAF3D,IAAA,YAAA,CAAA,IAAA,EAAA,yBAAA,CAAA,CAAA;AAAA,GAGN;AAAA,EAEA,MAAsB,GAAI,CAAA,OAAA,EAAqB,QAAuB,EAAA;AACrE,IAAA,MAAM,EAAE,KAAO,EAAA,WAAA,KAAgB,eAAK,CAAA,IAAA,EAAA,yBAAA,EAAA,WAAA,CAAA,CAAL,WAAe,OAAQ,CAAA,GAAA,CAAA,CAAA;AACtD,IAAQ,OAAA,CAAA,KAAA,GAAQ,OAAO,WAAY,CAAA,IAAI,gBAAgB,WAAW,CAAA,CAAE,SAAS,CAAA,CAAA;AAE7E,IAAA,MAAM,SAAS,IAAK,CAAA,SAAA,CAAU,OAAO,MAAO,CAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AAC7D,IAAM,MAAA,IAAA,GAAO,MAAS,GAAA,MAAA,CAAO,IAAO,GAAA,IAAA,CAAA;AACpC,IAAA,MAAM,QAAQ,IAAO,GAAA,IAAA,CAAK,IAAK,OAAQ,CAAA,MAAA,IAAU,KAAoB,CAAI,GAAA,IAAA,CAAA;AAEzE,IAAA,IAAI,SAAS,IAAM,EAAA;AAClB,MAAQ,OAAA,CAAA,MAAA,GAAS,IAAM,CAAA,iBAAA,CAAkB,KAAK,CAAA,CAAA;AAAA,KAC/C;AAEA,IAAA,OAAA,CAAQ,UAAa,GAAA,IAAA,CAAA;AACrB,IAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAEhB,IAAI,IAAA;AAEH,MAAA,MAAM,KAAK,SAAU,CAAA,MAAA,CAAO,WAAY,CAAA,GAAA,CAAI,SAAS,QAAQ,CAAA,CAAA;AAAA,aACrD,KAAO,EAAA;AACf,MAAA,IAAA,CAAK,UAAU,MAAO,CAAA,IAAA,CAAKA,uBAAY,eAAiB,EAAA,KAAA,EAAgB,SAAS,QAAQ,CAAA,CAAA;AAGzF,MAAA,OAAA;AAAA,KACD;AAEA,IAAA,IAAI,WAAW,IAAM,EAAA;AACpB,MAAA,IAAA,CAAK,UAAU,MAAO,CAAA,IAAA,CAAKA,sBAAY,CAAA,oBAAA,EAAsB,SAAS,QAAQ,CAAA,CAAA;AAAA,KAC/E,MAAA,IAAW,UAAU,IAAM,EAAA;AAC1B,MAAA,IAAA,CAAK,UAAU,MAAO,CAAA,IAAA,CAAKA,uBAAY,4BAA8B,EAAA,OAAA,EAAS,UAAU,MAAM,CAAA,CAAA;AAAA,KACxF,MAAA;AACN,MAAA,IAAA,CAAK,UAAU,MAAO,CAAA,IAAA,CAAKA,sBAAY,CAAA,WAAA,EAAa,SAAS,QAAQ,CAAA,CAAA;AAAA,KACtE;AAAA,GACD;AAiBD,CAAA,CAAA;AAtDO,yBAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAuCN,WAAS,mBAAA,MAAA,CAAA,SAAC,MAAM,EAAI,EAAA;AACnB,EAAM,MAAA,KAAA,GAAQ,GAAI,CAAA,OAAA,CAAQ,GAAG,CAAA,CAAA;AAE7B,EAAI,IAAA,QAAA,CAAA;AACJ,EAAI,IAAA,WAAA,CAAA;AACJ,EAAA,IAAI,UAAU,CAAI,CAAA,EAAA;AACjB,IAAW,QAAA,GAAA,GAAA,CAAA;AACX,IAAc,WAAA,GAAA,EAAA,CAAA;AAAA,GACR,MAAA;AACN,IAAW,QAAA,GAAA,GAAA,CAAI,SAAU,CAAA,CAAA,EAAG,KAAK,CAAA,CAAA;AACjC,IAAc,WAAA,GAAA,GAAA,CAAI,SAAU,CAAA,KAAA,GAAQ,CAAC,CAAA,CAAA;AAAA,GACtC;AAEA,EAAA,OAAO,EAAE,KAAO,EAAAC,yBAAA,CAAW,SAAU,CAAA,QAAQ,GAAG,WAAY,EAAA,CAAA;AAC7D,CAdS,EAAA,WAAA,CAAA,CAAA;AAvCmC,MAAA,CAAA,eAAA,EAAA,gBAAA,CAAA,CAAA;AAAtC,IAAM,cAAN,GAAA","file":"PluginServerRequest.cjs","sourcesContent":["import { Listener } from '@sapphire/framework';\nimport type { ApiRequest } from '../lib/structures/api/ApiRequest';\nimport type { ApiResponse } from '../lib/structures/api/ApiResponse';\nimport type { MethodName } from '../lib/structures/http/HttpMethods';\nimport { ServerEvent } from '../lib/structures/http/Server';\nimport { RouterRoot } from '../lib/structures/router/RouterRoot';\n\nexport class PluginListener extends Listener {\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, { emitter: 'server', event: ServerEvent.Request });\n\t}\n\n\tpublic override async run(request: ApiRequest, response: ApiResponse) {\n\t\tconst { parts, querystring } = this.#parseURL(request.url);\n\t\trequest.query = Object.fromEntries(new URLSearchParams(querystring).entries());\n\n\t\tconst branch = this.container.server.routes.router.find(parts);\n\t\tconst node = branch ? branch.node : null;\n\t\tconst route = node ? node.get((request.method ?? 'GET') as MethodName) : null;\n\n\t\tif (node !== null) {\n\t\t\trequest.params = node!.extractParameters(parts);\n\t\t}\n\n\t\trequest.routerNode = node;\n\t\trequest.route = route;\n\n\t\ttry {\n\t\t\t// Middlewares need to be run regardless of the match, specially since browsers do an OPTIONS request first.\n\t\t\tawait this.container.server.middlewares.run(request, response);\n\t\t} catch (error) {\n\t\t\tthis.container.server.emit(ServerEvent.MiddlewareError, error as Error, request, response);\n\n\t\t\t// If a middleware errored, it might cause undefined behavior in the routes, so we will return early.\n\t\t\treturn;\n\t\t}\n\n\t\tif (branch === null) {\n\t\t\tthis.container.server.emit(ServerEvent.RouterBranchNotFound, request, response);\n\t\t} else if (route === null) {\n\t\t\tthis.container.server.emit(ServerEvent.RouterBranchMethodNotAllowed, request, response, branch);\n\t\t} else {\n\t\t\tthis.container.server.emit(ServerEvent.RouterFound, request, response);\n\t\t}\n\t}\n\n\t#parseURL(url = '') {\n\t\tconst index = url.indexOf('?');\n\n\t\tlet pathname: string;\n\t\tlet querystring: string;\n\t\tif (index === -1) {\n\t\t\tpathname = url;\n\t\t\tquerystring = '';\n\t\t} else {\n\t\t\tpathname = url.substring(0, index);\n\t\t\tquerystring = url.substring(index + 1);\n\t\t}\n\n\t\treturn { parts: RouterRoot.normalize(pathname), querystring };\n\t}\n}\n"]}
|
package/dist/cjs/listeners/{PluginServerMatch.cjs → PluginServerRouterBranchMethodNotAllowed.cjs}
RENAMED
|
@@ -7,20 +7,15 @@ var __defProp = Object.defineProperty;
|
|
|
7
7
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
8
|
var _PluginListener = class _PluginListener extends framework.Listener {
|
|
9
9
|
constructor(context) {
|
|
10
|
-
super(context, { emitter: "server", event: Server_cjs.
|
|
10
|
+
super(context, { emitter: "server", event: Server_cjs.ServerEvent.RouterBranchMethodNotAllowed });
|
|
11
11
|
}
|
|
12
|
-
run(
|
|
13
|
-
|
|
14
|
-
response.writableEnded ? Server_cjs.ServerEvents.MiddlewareFailure : Server_cjs.ServerEvents.MiddlewareSuccess,
|
|
15
|
-
request,
|
|
16
|
-
response,
|
|
17
|
-
route
|
|
18
|
-
);
|
|
12
|
+
run(_, response) {
|
|
13
|
+
if (!response.writableEnded) response.methodNotAllowed();
|
|
19
14
|
}
|
|
20
15
|
};
|
|
21
16
|
__name(_PluginListener, "PluginListener");
|
|
22
17
|
var PluginListener = _PluginListener;
|
|
23
18
|
|
|
24
19
|
exports.PluginListener = PluginListener;
|
|
25
|
-
//# sourceMappingURL=
|
|
26
|
-
//# sourceMappingURL=
|
|
20
|
+
//# sourceMappingURL=PluginServerRouterBranchMethodNotAllowed.cjs.map
|
|
21
|
+
//# sourceMappingURL=PluginServerRouterBranchMethodNotAllowed.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/listeners/PluginServerRouterBranchMethodNotAllowed.ts"],"names":["Listener","ServerEvent"],"mappings":";;;;;;;AAKO,IAAM,eAAA,GAAN,MAAM,eAAA,SAAuBA,kBAAS,CAAA;AAAA,EACrC,YAAY,OAAiC,EAAA;AACnD,IAAA,KAAA,CAAM,SAAS,EAAE,OAAA,EAAS,UAAU,KAAO,EAAAC,sBAAA,CAAY,8BAA8B,CAAA,CAAA;AAAA,GACtF;AAAA,EAEgB,GAAA,CAAI,GAAe,QAAuB,EAAA;AACzD,IAAA,IAAI,CAAC,QAAA,CAAS,aAAe,EAAA,QAAA,CAAS,gBAAiB,EAAA,CAAA;AAAA,GACxD;AACD,CAAA,CAAA;AAR6C,MAAA,CAAA,eAAA,EAAA,gBAAA,CAAA,CAAA;AAAtC,IAAM,cAAN,GAAA","file":"PluginServerRouterBranchMethodNotAllowed.cjs","sourcesContent":["import { Listener } from '@sapphire/framework';\nimport type { ApiRequest } from '../lib/structures/api/ApiRequest';\nimport type { ApiResponse } from '../lib/structures/api/ApiResponse';\nimport { ServerEvent } from '../lib/structures/http/Server';\n\nexport class PluginListener extends Listener {\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, { emitter: 'server', event: ServerEvent.RouterBranchMethodNotAllowed });\n\t}\n\n\tpublic override run(_: ApiRequest, response: ApiResponse) {\n\t\tif (!response.writableEnded) response.methodNotAllowed();\n\t}\n}\n"]}
|
|
@@ -7,7 +7,7 @@ var __defProp = Object.defineProperty;
|
|
|
7
7
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
8
|
var _PluginListener = class _PluginListener extends framework.Listener {
|
|
9
9
|
constructor(context) {
|
|
10
|
-
super(context, { emitter: "server", event: Server_cjs.
|
|
10
|
+
super(context, { emitter: "server", event: Server_cjs.ServerEvent.RouterBranchNotFound });
|
|
11
11
|
}
|
|
12
12
|
run(_, response) {
|
|
13
13
|
if (!response.writableEnded) response.notFound();
|
|
@@ -17,5 +17,5 @@ __name(_PluginListener, "PluginListener");
|
|
|
17
17
|
var PluginListener = _PluginListener;
|
|
18
18
|
|
|
19
19
|
exports.PluginListener = PluginListener;
|
|
20
|
-
//# sourceMappingURL=
|
|
21
|
-
//# sourceMappingURL=
|
|
20
|
+
//# sourceMappingURL=PluginServerRouterBranchNotFound.cjs.map
|
|
21
|
+
//# sourceMappingURL=PluginServerRouterBranchNotFound.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/listeners/PluginServerRouterBranchNotFound.ts"],"names":["Listener","ServerEvent"],"mappings":";;;;;;;AAKO,IAAM,eAAA,GAAN,MAAM,eAAA,SAAuBA,kBAAS,CAAA;AAAA,EACrC,YAAY,OAAiC,EAAA;AACnD,IAAA,KAAA,CAAM,SAAS,EAAE,OAAA,EAAS,UAAU,KAAO,EAAAC,sBAAA,CAAY,sBAAsB,CAAA,CAAA;AAAA,GAC9E;AAAA,EAEgB,GAAA,CAAI,GAAe,QAAuB,EAAA;AACzD,IAAA,IAAI,CAAC,QAAA,CAAS,aAAe,EAAA,QAAA,CAAS,QAAS,EAAA,CAAA;AAAA,GAChD;AACD,CAAA,CAAA;AAR6C,MAAA,CAAA,eAAA,EAAA,gBAAA,CAAA,CAAA;AAAtC,IAAM,cAAN,GAAA","file":"PluginServerRouterBranchNotFound.cjs","sourcesContent":["import { Listener } from '@sapphire/framework';\nimport type { ApiRequest } from '../lib/structures/api/ApiRequest';\nimport type { ApiResponse } from '../lib/structures/api/ApiResponse';\nimport { ServerEvent } from '../lib/structures/http/Server';\n\nexport class PluginListener extends Listener {\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, { emitter: 'server', event: ServerEvent.RouterBranchNotFound });\n\t}\n\n\tpublic override run(_: ApiRequest, response: ApiResponse) {\n\t\tif (!response.writableEnded) response.notFound();\n\t}\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var framework = require('@sapphire/framework');
|
|
4
|
+
var Server_cjs = require('../lib/structures/http/Server.cjs');
|
|
5
|
+
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
var _PluginListener = class _PluginListener extends framework.Listener {
|
|
9
|
+
constructor(context) {
|
|
10
|
+
super(context, { emitter: "server", event: Server_cjs.ServerEvent.RouterFound });
|
|
11
|
+
}
|
|
12
|
+
run(request, response) {
|
|
13
|
+
const event = response.writableEnded ? Server_cjs.ServerEvent.MiddlewareFailure : Server_cjs.ServerEvent.MiddlewareSuccess;
|
|
14
|
+
this.container.server.emit(event, request, response);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
__name(_PluginListener, "PluginListener");
|
|
18
|
+
var PluginListener = _PluginListener;
|
|
19
|
+
|
|
20
|
+
exports.PluginListener = PluginListener;
|
|
21
|
+
//# sourceMappingURL=PluginServerRouterFound.cjs.map
|
|
22
|
+
//# sourceMappingURL=PluginServerRouterFound.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/listeners/PluginServerRouterFound.ts"],"names":["Listener","ServerEvent"],"mappings":";;;;;;;AAKO,IAAM,eAAA,GAAN,MAAM,eAAA,SAAuBA,kBAAS,CAAA;AAAA,EACrC,YAAY,OAAiC,EAAA;AACnD,IAAA,KAAA,CAAM,SAAS,EAAE,OAAA,EAAS,UAAU,KAAO,EAAAC,sBAAA,CAAY,aAAa,CAAA,CAAA;AAAA,GACrE;AAAA,EAEgB,GAAA,CAAI,SAAqB,QAAuB,EAAA;AAC/D,IAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,aAAgB,GAAAA,sBAAA,CAAY,oBAAoBA,sBAAY,CAAA,iBAAA,CAAA;AACnF,IAAA,IAAA,CAAK,SAAU,CAAA,MAAA,CAAO,IAAK,CAAA,KAAA,EAAO,SAAS,QAAQ,CAAA,CAAA;AAAA,GACpD;AACD,CAAA,CAAA;AAT6C,MAAA,CAAA,eAAA,EAAA,gBAAA,CAAA,CAAA;AAAtC,IAAM,cAAN,GAAA","file":"PluginServerRouterFound.cjs","sourcesContent":["import { Listener } from '@sapphire/framework';\nimport type { ApiRequest } from '../lib/structures/api/ApiRequest';\nimport type { ApiResponse } from '../lib/structures/api/ApiResponse';\nimport { ServerEvent } from '../lib/structures/http/Server';\n\nexport class PluginListener extends Listener {\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, { emitter: 'server', event: ServerEvent.RouterFound });\n\t}\n\n\tpublic override run(request: ApiRequest, response: ApiResponse) {\n\t\tconst event = response.writableEnded ? ServerEvent.MiddlewareFailure : ServerEvent.MiddlewareSuccess;\n\t\tthis.container.server.emit(event, request, response);\n\t}\n}\n"]}
|
|
@@ -2,25 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
var pieces = require('@sapphire/pieces');
|
|
4
4
|
var PluginRouteError_cjs = require('./PluginRouteError.cjs');
|
|
5
|
-
var PluginServerMatch_cjs = require('./PluginServerMatch.cjs');
|
|
6
5
|
var PluginServerMiddlewareError_cjs = require('./PluginServerMiddlewareError.cjs');
|
|
7
6
|
var PluginServerMiddlewareSuccess_cjs = require('./PluginServerMiddlewareSuccess.cjs');
|
|
8
|
-
var PluginServerNoMatch_cjs = require('./PluginServerNoMatch.cjs');
|
|
9
7
|
var PluginServerRequest_cjs = require('./PluginServerRequest.cjs');
|
|
8
|
+
var PluginServerRouterBranchMethodNotAllowed_cjs = require('./PluginServerRouterBranchMethodNotAllowed.cjs');
|
|
9
|
+
var PluginServerRouterBranchNotFound_cjs = require('./PluginServerRouterBranchNotFound.cjs');
|
|
10
|
+
var PluginServerRouterFound_cjs = require('./PluginServerRouterFound.cjs');
|
|
10
11
|
|
|
11
12
|
var __defProp = Object.defineProperty;
|
|
12
13
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
14
|
function loadListeners() {
|
|
14
15
|
const store = "listeners";
|
|
15
16
|
void pieces.container.stores.loadPiece({ name: "PluginRouteError", piece: PluginRouteError_cjs.PluginListener, store });
|
|
16
|
-
void pieces.container.stores.loadPiece({ name: "PluginServerMatch", piece: PluginServerMatch_cjs.PluginListener, store });
|
|
17
17
|
void pieces.container.stores.loadPiece({ name: "PluginServerMiddlewareError", piece: PluginServerMiddlewareError_cjs.PluginListener, store });
|
|
18
18
|
void pieces.container.stores.loadPiece({ name: "PluginServerMiddlewareSuccess", piece: PluginServerMiddlewareSuccess_cjs.PluginListener, store });
|
|
19
|
-
void pieces.container.stores.loadPiece({ name: "PluginServerNoMatch", piece: PluginServerNoMatch_cjs.PluginListener, store });
|
|
20
19
|
void pieces.container.stores.loadPiece({ name: "PluginServerRequest", piece: PluginServerRequest_cjs.PluginListener, store });
|
|
20
|
+
void pieces.container.stores.loadPiece({ name: "PluginServerRouterBranchMethodNotAllowed", piece: PluginServerRouterBranchMethodNotAllowed_cjs.PluginListener, store });
|
|
21
|
+
void pieces.container.stores.loadPiece({ name: "PluginServerRouterBranchNotFound", piece: PluginServerRouterBranchNotFound_cjs.PluginListener, store });
|
|
22
|
+
void pieces.container.stores.loadPiece({ name: "PluginServerRouterFound", piece: PluginServerRouterFound_cjs.PluginListener, store });
|
|
21
23
|
}
|
|
22
24
|
__name(loadListeners, "loadListeners");
|
|
23
25
|
|
|
24
26
|
exports.loadListeners = loadListeners;
|
|
25
|
-
//# sourceMappingURL=
|
|
27
|
+
//# sourceMappingURL=_load.cjs.map
|
|
26
28
|
//# sourceMappingURL=_load.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/listeners/_load.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/listeners/_load.ts"],"names":["container","PluginRouteError","PluginServerMiddlewareError","PluginServerMiddlewareSuccess","PluginServerRequest","PluginServerRouterBranchMethodNotAllowed","PluginServerRouterBranchNotFound","PluginServerRouterFound"],"mappings":";;;;;;;;;;;;;AASO,SAAS,aAAgB,GAAA;AAC/B,EAAA,MAAM,KAAQ,GAAA,WAAA,CAAA;AACd,EAAK,KAAAA,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,kBAAoB,EAAA,KAAA,EAAOC,mCAAkB,EAAA,KAAA,EAAO,CAAA,CAAA;AAC5F,EAAK,KAAAD,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,6BAA+B,EAAA,KAAA,EAAOE,8CAA6B,EAAA,KAAA,EAAO,CAAA,CAAA;AAClH,EAAK,KAAAF,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,+BAAiC,EAAA,KAAA,EAAOG,gDAA+B,EAAA,KAAA,EAAO,CAAA,CAAA;AACtH,EAAK,KAAAH,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,qBAAuB,EAAA,KAAA,EAAOI,sCAAqB,EAAA,KAAA,EAAO,CAAA,CAAA;AAClG,EAAK,KAAAJ,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,0CAA4C,EAAA,KAAA,EAAOK,2DAA0C,EAAA,KAAA,EAAO,CAAA,CAAA;AAC5I,EAAK,KAAAL,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,kCAAoC,EAAA,KAAA,EAAOM,mDAAkC,EAAA,KAAA,EAAO,CAAA,CAAA;AAC5H,EAAK,KAAAN,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,yBAA2B,EAAA,KAAA,EAAOO,0CAAyB,EAAA,KAAA,EAAO,CAAA,CAAA;AAC3G,CAAA;AATgB,MAAA,CAAA,aAAA,EAAA,eAAA,CAAA","file":"_load.cjs","sourcesContent":["import { container } from '@sapphire/pieces';\nimport { PluginListener as PluginRouteError } from './PluginRouteError';\nimport { PluginListener as PluginServerMiddlewareError } from './PluginServerMiddlewareError';\nimport { PluginListener as PluginServerMiddlewareSuccess } from './PluginServerMiddlewareSuccess';\nimport { PluginListener as PluginServerRequest } from './PluginServerRequest';\nimport { PluginListener as PluginServerRouterBranchMethodNotAllowed } from './PluginServerRouterBranchMethodNotAllowed';\nimport { PluginListener as PluginServerRouterBranchNotFound } from './PluginServerRouterBranchNotFound';\nimport { PluginListener as PluginServerRouterFound } from './PluginServerRouterFound';\n\nexport function loadListeners() {\n\tconst store = 'listeners' as const;\n\tvoid container.stores.loadPiece({ name: 'PluginRouteError', piece: PluginRouteError, store });\n\tvoid container.stores.loadPiece({ name: 'PluginServerMiddlewareError', piece: PluginServerMiddlewareError, store });\n\tvoid container.stores.loadPiece({ name: 'PluginServerMiddlewareSuccess', piece: PluginServerMiddlewareSuccess, store });\n\tvoid container.stores.loadPiece({ name: 'PluginServerRequest', piece: PluginServerRequest, store });\n\tvoid container.stores.loadPiece({ name: 'PluginServerRouterBranchMethodNotAllowed', piece: PluginServerRouterBranchMethodNotAllowed, store });\n\tvoid container.stores.loadPiece({ name: 'PluginServerRouterBranchNotFound', piece: PluginServerRouterBranchNotFound, store });\n\tvoid container.stores.loadPiece({ name: 'PluginServerRouterFound', piece: PluginServerRouterFound, store });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mediaParsers/_load.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/mediaParsers/_load.ts"],"names":["container","PluginApplicationFormUrlEncoded","PluginApplicationJson","PluginTextPlain"],"mappings":";;;;;;;;;AAKO,SAAS,gBAAmB,GAAA;AAClC,EAAA,MAAM,KAAQ,GAAA,cAAA,CAAA;AACd,EAAK,KAAAA,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,2BAA6B,EAAA,KAAA,EAAOC,+CAAiC,EAAA,KAAA,EAAO,CAAA,CAAA;AACpH,EAAK,KAAAD,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,iBAAmB,EAAA,KAAA,EAAOE,qCAAuB,EAAA,KAAA,EAAO,CAAA,CAAA;AAChG,EAAK,KAAAF,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,WAAa,EAAA,KAAA,EAAOG,+BAAiB,EAAA,KAAA,EAAO,CAAA,CAAA;AACrF,CAAA;AALgB,MAAA,CAAA,gBAAA,EAAA,kBAAA,CAAA","file":"_load.cjs","sourcesContent":["import { container } from '@sapphire/pieces';\nimport { PluginMediaParser as PluginApplicationFormUrlEncoded } from './applicationFormUrlEncoded';\nimport { PluginMediaParser as PluginApplicationJson } from './applicationJson';\nimport { PluginMediaParser as PluginTextPlain } from './textPlain';\n\nexport function loadMediaParsers() {\n\tconst store = 'mediaParsers' as const;\n\tvoid container.stores.loadPiece({ name: 'applicationFormUrlEncoded', piece: PluginApplicationFormUrlEncoded, store });\n\tvoid container.stores.loadPiece({ name: 'applicationJson', piece: PluginApplicationJson, store });\n\tvoid container.stores.loadPiece({ name: 'textPlain', piece: PluginTextPlain, store });\n}\n"]}
|
|
@@ -19,5 +19,5 @@ __name(_PluginMediaParser, "PluginMediaParser");
|
|
|
19
19
|
var PluginMediaParser = _PluginMediaParser;
|
|
20
20
|
|
|
21
21
|
exports.PluginMediaParser = PluginMediaParser;
|
|
22
|
-
//# sourceMappingURL=
|
|
22
|
+
//# sourceMappingURL=applicationFormUrlEncoded.cjs.map
|
|
23
23
|
//# sourceMappingURL=applicationFormUrlEncoded.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mediaParsers/applicationFormUrlEncoded.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/mediaParsers/applicationFormUrlEncoded.ts"],"names":["MediaParser","MimeTypes","URLSearchParams"],"mappings":";;;;;;;;AAKO,IAAM,kBAAA,GAAN,MAAM,kBAAA,SAA0BA,2BAAY,CAAA;AAAA,EAC3C,YAAY,OAAoC,EAAA;AACtD,IAAA,KAAA,CAAM,OAAS,EAAA,EAAE,IAAM,EAAAC,uBAAA,CAAU,2BAA2B,CAAA,CAAA;AAAA,GAC7D;AAAA,EAEA,MAAsB,IAAI,OAAuC,EAAA;AAChE,IAAA,MAAM,IAAO,GAAA,MAAM,IAAK,CAAA,UAAA,CAAW,OAAO,CAAA,CAAA;AAC1C,IAAO,OAAA,IAAA,CAAK,MAAW,KAAA,CAAA,GAAI,IAAO,GAAA,MAAA,CAAO,WAAY,CAAA,IAAIC,mBAAgB,CAAA,IAAI,CAAE,CAAA,OAAA,EAAS,CAAA,CAAA;AAAA,GACzF;AACD,CAAA,CAAA;AATmD,MAAA,CAAA,kBAAA,EAAA,mBAAA,CAAA,CAAA;AAA5C,IAAM,iBAAN,GAAA","file":"applicationFormUrlEncoded.cjs","sourcesContent":["import { URLSearchParams } from 'url';\nimport { MediaParser } from '../lib/structures/MediaParser';\nimport type { ApiRequest } from '../lib/structures/api/ApiRequest';\nimport { MimeTypes } from '../lib/utils/MimeTypes';\n\nexport class PluginMediaParser extends MediaParser {\n\tpublic constructor(context: MediaParser.LoaderContext) {\n\t\tsuper(context, { name: MimeTypes.ApplicationFormUrlEncoded });\n\t}\n\n\tpublic override async run(request: ApiRequest): Promise<unknown> {\n\t\tconst body = await this.readString(request);\n\t\treturn body.length === 0 ? null : Object.fromEntries(new URLSearchParams(body).entries());\n\t}\n}\n"]}
|
|
@@ -18,5 +18,5 @@ __name(_PluginMediaParser, "PluginMediaParser");
|
|
|
18
18
|
var PluginMediaParser = _PluginMediaParser;
|
|
19
19
|
|
|
20
20
|
exports.PluginMediaParser = PluginMediaParser;
|
|
21
|
-
//# sourceMappingURL=
|
|
21
|
+
//# sourceMappingURL=applicationJson.cjs.map
|
|
22
22
|
//# sourceMappingURL=applicationJson.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mediaParsers/applicationJson.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/mediaParsers/applicationJson.ts"],"names":["MediaParser","MimeTypes"],"mappings":";;;;;;;AAGO,IAAM,kBAAA,GAAN,MAAM,kBAAA,SAA0BA,2BAAY,CAAA;AAAA,EAC3C,YAAY,OAAoC,EAAA;AACtD,IAAA,KAAA,CAAM,OAAS,EAAA,EAAE,IAAM,EAAAC,uBAAA,CAAU,iBAAiB,CAAA,CAAA;AAAA,GACnD;AAAA,EAEA,MAAsB,IAAI,OAAgD,EAAA;AACzE,IAAA,MAAM,IAAO,GAAA,MAAM,IAAK,CAAA,UAAA,CAAW,OAAO,CAAA,CAAA;AAC1C,IAAA,OAAO,KAAK,MAAW,KAAA,CAAA,GAAI,IAAO,GAAA,IAAA,CAAK,MAAM,IAAI,CAAA,CAAA;AAAA,GAClD;AACD,CAAA,CAAA;AATmD,MAAA,CAAA,kBAAA,EAAA,mBAAA,CAAA,CAAA;AAA5C,IAAM,iBAAN,GAAA","file":"applicationJson.cjs","sourcesContent":["import { MediaParser } from '../lib/structures/MediaParser';\nimport { MimeTypes } from '../lib/utils/MimeTypes';\n\nexport class PluginMediaParser extends MediaParser {\n\tpublic constructor(context: MediaParser.LoaderContext) {\n\t\tsuper(context, { name: MimeTypes.ApplicationJson });\n\t}\n\n\tpublic override async run(request: MediaParser.Request): Promise<unknown> {\n\t\tconst body = await this.readString(request);\n\t\treturn body.length === 0 ? null : JSON.parse(body);\n\t}\n}\n"]}
|
|
@@ -18,5 +18,5 @@ __name(_PluginMediaParser, "PluginMediaParser");
|
|
|
18
18
|
var PluginMediaParser = _PluginMediaParser;
|
|
19
19
|
|
|
20
20
|
exports.PluginMediaParser = PluginMediaParser;
|
|
21
|
-
//# sourceMappingURL=
|
|
21
|
+
//# sourceMappingURL=textPlain.cjs.map
|
|
22
22
|
//# sourceMappingURL=textPlain.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mediaParsers/textPlain.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/mediaParsers/textPlain.ts"],"names":["MediaParser","MimeTypes"],"mappings":";;;;;;;AAGO,IAAM,kBAAA,GAAN,MAAM,kBAAA,SAA0BA,2BAAY,CAAA;AAAA,EAC3C,YAAY,OAAoC,EAAA;AACtD,IAAA,KAAA,CAAM,OAAS,EAAA,EAAE,IAAM,EAAAC,uBAAA,CAAU,WAAW,CAAA,CAAA;AAAA,GAC7C;AAAA,EAEA,MAAsB,IAAI,OAAgD,EAAA;AACzE,IAAA,MAAM,IAAO,GAAA,MAAM,IAAK,CAAA,UAAA,CAAW,OAAO,CAAA,CAAA;AAC1C,IAAO,OAAA,IAAA,CAAK,MAAW,KAAA,CAAA,GAAI,IAAO,GAAA,IAAA,CAAA;AAAA,GACnC;AACD,CAAA,CAAA;AATmD,MAAA,CAAA,kBAAA,EAAA,mBAAA,CAAA,CAAA;AAA5C,IAAM,iBAAN,GAAA","file":"textPlain.cjs","sourcesContent":["import { MediaParser } from '../lib/structures/MediaParser';\nimport { MimeTypes } from '../lib/utils/MimeTypes';\n\nexport class PluginMediaParser extends MediaParser {\n\tpublic constructor(context: MediaParser.LoaderContext) {\n\t\tsuper(context, { name: MimeTypes.TextPlain });\n\t}\n\n\tpublic override async run(request: MediaParser.Request): Promise<unknown> {\n\t\tconst body = await this.readString(request);\n\t\treturn body.length === 0 ? null : body;\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/middlewares/_load.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/middlewares/_load.ts"],"names":["container","PluginAuth","PluginBody","PluginCookies","PluginHeaders"],"mappings":";;;;;;;;;;AAMO,SAAS,eAAkB,GAAA;AACjC,EAAA,MAAM,KAAQ,GAAA,aAAA,CAAA;AACd,EAAK,KAAAA,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,MAAQ,EAAA,KAAA,EAAOC,yBAAY,EAAA,KAAA,EAAO,CAAA,CAAA;AAC1E,EAAK,KAAAD,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,MAAQ,EAAA,KAAA,EAAOE,yBAAY,EAAA,KAAA,EAAO,CAAA,CAAA;AAC1E,EAAK,KAAAF,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,SAAW,EAAA,KAAA,EAAOG,4BAAe,EAAA,KAAA,EAAO,CAAA,CAAA;AAChF,EAAK,KAAAH,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,SAAW,EAAA,KAAA,EAAOI,4BAAe,EAAA,KAAA,EAAO,CAAA,CAAA;AACjF,CAAA;AANgB,MAAA,CAAA,eAAA,EAAA,iBAAA,CAAA","file":"_load.cjs","sourcesContent":["import { container } from '@sapphire/pieces';\nimport { PluginMiddleware as PluginAuth } from './auth';\nimport { PluginMiddleware as PluginBody } from './body';\nimport { PluginMiddleware as PluginCookies } from './cookies';\nimport { PluginMiddleware as PluginHeaders } from './headers';\n\nexport function loadMiddlewares() {\n\tconst store = 'middlewares' as const;\n\tvoid container.stores.loadPiece({ name: 'auth', piece: PluginAuth, store });\n\tvoid container.stores.loadPiece({ name: 'body', piece: PluginBody, store });\n\tvoid container.stores.loadPiece({ name: 'cookies', piece: PluginCookies, store });\n\tvoid container.stores.loadPiece({ name: 'headers', piece: PluginHeaders, store });\n}\n"]}
|
|
@@ -5,7 +5,7 @@ var Middleware_cjs = require('../lib/structures/Middleware.cjs');
|
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
6
6
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
7
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj,
|
|
8
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
|
|
9
9
|
var _PluginMiddleware = class _PluginMiddleware extends Middleware_cjs.Middleware {
|
|
10
10
|
constructor(context) {
|
|
11
11
|
super(context, { position: 40 });
|
|
@@ -28,5 +28,5 @@ __name(_PluginMiddleware, "PluginMiddleware");
|
|
|
28
28
|
var PluginMiddleware = _PluginMiddleware;
|
|
29
29
|
|
|
30
30
|
exports.PluginMiddleware = PluginMiddleware;
|
|
31
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=auth.cjs.map
|
|
32
32
|
//# sourceMappingURL=auth.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/middlewares/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/middlewares/auth.ts"],"names":["Middleware"],"mappings":";;;;;;;;AAEO,IAAM,iBAAA,GAAN,MAAM,iBAAA,SAAyBA,yBAAW,CAAA;AAAA,EAGzC,YAAY,OAAmC,EAAA;AACrD,IAAA,KAAA,CAAM,OAAS,EAAA,EAAE,QAAU,EAAA,EAAA,EAAI,CAAA,CAAA;AAHhC,IAAiB,aAAA,CAAA,IAAA,EAAA,YAAA,CAAA,CAAA;AAKhB,IAAM,MAAA,EAAE,MAAO,EAAA,GAAI,IAAK,CAAA,SAAA,CAAA;AACxB,IAAK,IAAA,CAAA,UAAA,GAAa,MAAO,CAAA,IAAA,EAAM,MAAU,IAAA,eAAA,CAAA;AACzC,IAAK,IAAA,CAAA,OAAA,GAAU,OAAO,IAAS,KAAA,IAAA,CAAA;AAAA,GAChC;AAAA,EAEgB,GAAA,CAAI,SAA6B,QAA+B,EAAA;AAE/E,IAAA,MAAM,aAAgB,GAAA,QAAA,CAAS,OAAQ,CAAA,GAAA,CAAI,KAAK,UAAU,CAAA,CAAA;AAC1D,IAAA,IAAI,CAAC,aAAe,EAAA;AACnB,MAAA,OAAA,CAAQ,IAAO,GAAA,IAAA,CAAA;AACf,MAAA,OAAA;AAAA,KACD;AAGA,IAAA,OAAA,CAAQ,OAAO,IAAK,CAAA,SAAA,CAAU,MAAO,CAAA,IAAA,CAAM,QAAQ,aAAa,CAAA,CAAA;AAChE,IAAA,IAAI,QAAQ,IAAS,KAAA,IAAA,WAAe,OAAQ,CAAA,MAAA,CAAO,KAAK,UAAU,CAAA,CAAA;AAAA,GACnE;AACD,CAAA,CAAA;AAvBiD,MAAA,CAAA,iBAAA,EAAA,kBAAA,CAAA,CAAA;AAA1C,IAAM,gBAAN,GAAA","file":"auth.cjs","sourcesContent":["import { Middleware } from '../lib/structures/Middleware';\n\nexport class PluginMiddleware extends Middleware {\n\tprivate readonly cookieName: string;\n\n\tpublic constructor(context: Middleware.LoaderContext) {\n\t\tsuper(context, { position: 40 });\n\n\t\tconst { server } = this.container;\n\t\tthis.cookieName = server.auth?.cookie ?? 'SAPPHIRE_AUTH';\n\t\tthis.enabled = server.auth !== null;\n\t}\n\n\tpublic override run(request: Middleware.Request, response: Middleware.Response) {\n\t\t// If there are no cookies, set auth as null:\n\t\tconst authorization = response.cookies.get(this.cookieName);\n\t\tif (!authorization) {\n\t\t\trequest.auth = null;\n\t\t\treturn;\n\t\t}\n\n\t\t// Decrypt the cookie, and if the token is invalid, remove the cookie:\n\t\trequest.auth = this.container.server.auth!.decrypt(authorization);\n\t\tif (request.auth === null) response.cookies.remove(this.cookieName);\n\t}\n}\n"]}
|
|
@@ -6,27 +6,28 @@ var Middleware_cjs = require('../lib/structures/Middleware.cjs');
|
|
|
6
6
|
var __defProp = Object.defineProperty;
|
|
7
7
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
8
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj,
|
|
9
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
|
|
10
10
|
var _PluginMiddleware = class _PluginMiddleware extends Middleware_cjs.Middleware {
|
|
11
11
|
constructor(context) {
|
|
12
12
|
super(context, { position: 20 });
|
|
13
13
|
__publicField(this, "mediaParsers");
|
|
14
14
|
this.mediaParsers = this.container.server.mediaParsers;
|
|
15
15
|
}
|
|
16
|
-
async run(request, response
|
|
16
|
+
async run(request, response) {
|
|
17
|
+
if (!request.route) return;
|
|
17
18
|
const contentType = request.headers["content-type"];
|
|
18
19
|
if (typeof contentType !== "string") return;
|
|
19
20
|
const lengthString = request.headers["content-length"];
|
|
20
21
|
if (typeof lengthString !== "string") return;
|
|
21
22
|
const length = Number(lengthString);
|
|
22
|
-
const maximumLength = route.maximumBodyLength;
|
|
23
|
+
const maximumLength = request.route.maximumBodyLength;
|
|
23
24
|
if (length > maximumLength) {
|
|
24
25
|
response.status(HttpCodes_cjs.HttpCodes.PayloadTooLarge).json({ error: "Exceeded maximum content length." });
|
|
25
26
|
return;
|
|
26
27
|
}
|
|
27
28
|
const type = this.mediaParsers.parseContentType(contentType);
|
|
28
29
|
const parser = this.mediaParsers.get(type);
|
|
29
|
-
if (!parser || !parser.accepts(route)) {
|
|
30
|
+
if (!parser || !parser.accepts(request.route)) {
|
|
30
31
|
response.status(HttpCodes_cjs.HttpCodes.UnsupportedMediaType).json({ error: `Unsupported type ${type}.` });
|
|
31
32
|
return;
|
|
32
33
|
}
|
|
@@ -41,5 +42,5 @@ __name(_PluginMiddleware, "PluginMiddleware");
|
|
|
41
42
|
var PluginMiddleware = _PluginMiddleware;
|
|
42
43
|
|
|
43
44
|
exports.PluginMiddleware = PluginMiddleware;
|
|
44
|
-
//# sourceMappingURL=
|
|
45
|
+
//# sourceMappingURL=body.cjs.map
|
|
45
46
|
//# sourceMappingURL=body.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/middlewares/body.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/middlewares/body.ts"],"names":["Middleware","HttpCodes"],"mappings":";;;;;;;;;AAIO,IAAM,iBAAA,GAAN,MAAM,iBAAA,SAAyBA,yBAAW,CAAA;AAAA,EAGzC,YAAY,OAAmC,EAAA;AACrD,IAAA,KAAA,CAAM,OAAS,EAAA,EAAE,QAAU,EAAA,EAAA,EAAI,CAAA,CAAA;AAHhC,IAAiB,aAAA,CAAA,IAAA,EAAA,cAAA,CAAA,CAAA;AAIhB,IAAK,IAAA,CAAA,YAAA,GAAe,IAAK,CAAA,SAAA,CAAU,MAAO,CAAA,YAAA,CAAA;AAAA,GAC3C;AAAA,EAEA,MAAsB,GAAI,CAAA,OAAA,EAA6B,QAA+B,EAAA;AACrF,IAAI,IAAA,CAAC,QAAQ,KAAO,EAAA,OAAA;AAGpB,IAAM,MAAA,WAAA,GAAc,OAAQ,CAAA,OAAA,CAAQ,cAAc,CAAA,CAAA;AAClD,IAAI,IAAA,OAAO,gBAAgB,QAAU,EAAA,OAAA;AAGrC,IAAM,MAAA,YAAA,GAAe,OAAQ,CAAA,OAAA,CAAQ,gBAAgB,CAAA,CAAA;AACrD,IAAI,IAAA,OAAO,iBAAiB,QAAU,EAAA,OAAA;AAGtC,IAAM,MAAA,MAAA,GAAS,OAAO,YAAY,CAAA,CAAA;AAClC,IAAM,MAAA,aAAA,GAAgB,QAAQ,KAAM,CAAA,iBAAA,CAAA;AACpC,IAAA,IAAI,SAAS,aAAe,EAAA;AAC3B,MAAS,QAAA,CAAA,MAAA,CAAOC,wBAAU,eAAe,CAAA,CAAE,KAAK,EAAE,KAAA,EAAO,oCAAoC,CAAA,CAAA;AAC7F,MAAA,OAAA;AAAA,KACD;AAGA,IAAA,MAAM,IAAO,GAAA,IAAA,CAAK,YAAa,CAAA,gBAAA,CAAiB,WAAW,CAAA,CAAA;AAC3D,IAAA,MAAM,MAAS,GAAA,IAAA,CAAK,YAAa,CAAA,GAAA,CAAI,IAAI,CAAA,CAAA;AACzC,IAAA,IAAI,CAAC,MAAU,IAAA,CAAC,OAAO,OAAQ,CAAA,OAAA,CAAQ,KAAK,CAAG,EAAA;AAC9C,MAAS,QAAA,CAAA,MAAA,CAAOA,uBAAU,CAAA,oBAAoB,CAAE,CAAA,IAAA,CAAK,EAAE,KAAO,EAAA,CAAA,iBAAA,EAAoB,IAAI,CAAA,CAAA,CAAA,EAAK,CAAA,CAAA;AAC3F,MAAA,OAAA;AAAA,KACD;AAEA,IAAI,IAAA;AAEH,MAAA,OAAA,CAAQ,IAAO,GAAA,MAAM,MAAO,CAAA,GAAA,CAAI,OAAO,CAAA,CAAA;AAAA,KAChC,CAAA,MAAA;AACP,MAAS,QAAA,CAAA,MAAA,CAAOA,uBAAU,CAAA,UAAU,CAAE,CAAA,IAAA,CAAK,EAAE,KAAO,EAAA,CAAA,aAAA,EAAgB,IAAI,CAAA,MAAA,CAAA,EAAU,CAAA,CAAA;AAAA,KACnF;AAAA,GACD;AACD,CAAA,CAAA;AA1CiD,MAAA,CAAA,iBAAA,EAAA,kBAAA,CAAA,CAAA;AAA1C,IAAM,gBAAN,GAAA","file":"body.cjs","sourcesContent":["import { HttpCodes } from '../lib/structures/http/HttpCodes';\nimport type { MediaParserStore } from '../lib/structures/MediaParserStore';\nimport { Middleware } from '../lib/structures/Middleware';\n\nexport class PluginMiddleware extends Middleware {\n\tprivate readonly mediaParsers: MediaParserStore;\n\n\tpublic constructor(context: Middleware.LoaderContext) {\n\t\tsuper(context, { position: 20 });\n\t\tthis.mediaParsers = this.container.server.mediaParsers;\n\t}\n\n\tpublic override async run(request: Middleware.Request, response: Middleware.Response) {\n\t\tif (!request.route) return;\n\n\t\t// RFC 1341 4.\n\t\tconst contentType = request.headers['content-type'];\n\t\tif (typeof contentType !== 'string') return;\n\n\t\t// RFC 7230 3.3.2.\n\t\tconst lengthString = request.headers['content-length'];\n\t\tif (typeof lengthString !== 'string') return;\n\n\t\t// Verify if the content length is lower than accepted:\n\t\tconst length = Number(lengthString);\n\t\tconst maximumLength = request.route.maximumBodyLength;\n\t\tif (length > maximumLength) {\n\t\t\tresponse.status(HttpCodes.PayloadTooLarge).json({ error: 'Exceeded maximum content length.' });\n\t\t\treturn;\n\t\t}\n\n\t\t// Verify if the content type is supported by the parser:\n\t\tconst type = this.mediaParsers.parseContentType(contentType);\n\t\tconst parser = this.mediaParsers.get(type);\n\t\tif (!parser || !parser.accepts(request.route)) {\n\t\t\tresponse.status(HttpCodes.UnsupportedMediaType).json({ error: `Unsupported type ${type}.` });\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\t// Parse the content body:\n\t\t\trequest.body = await parser.run(request);\n\t\t} catch {\n\t\t\tresponse.status(HttpCodes.BadRequest).json({ error: `Cannot parse ${type} data.` });\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/middlewares/cookies.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/middlewares/cookies.ts"],"names":["Middleware","CookieStore"],"mappings":";;;;;;;;;AAGO,IAAM,iBAAA,GAAN,MAAM,iBAAA,SAAyBA,yBAAW,CAAA;AAAA,EAIzC,YAAY,OAAmC,EAAA;AACrD,IAAA,KAAA,CAAM,OAAS,EAAA,EAAE,QAAU,EAAA,EAAA,EAAI,CAAA,CAAA;AAJhC,IAAiB,aAAA,CAAA,IAAA,EAAA,YAAA,EAAsB,OAAQ,CAAA,GAAA,CAAI,QAAa,KAAA,YAAA,CAAA,CAAA;AAChE,IAAA,aAAA,CAAA,IAAA,EAAQ,iBAAiC,EAAA,IAAA,CAAA,CAAA;AAKxC,IAAM,MAAA,EAAE,MAAO,EAAA,GAAI,IAAK,CAAA,SAAA,CAAA;AACxB,IAAK,IAAA,CAAA,eAAA,GAAkB,MAAO,CAAA,IAAA,EAAM,eAAmB,IAAA,IAAA,CAAA;AAAA,GACxD;AAAA,EAEgB,GAAA,CAAI,SAA6B,QAA+B,EAAA;AAC/E,IAAS,QAAA,CAAA,OAAA,GAAU,IAAIC,2BAAY,CAAA,OAAA,EAAS,UAAU,IAAK,CAAA,UAAA,EAAY,KAAK,eAAe,CAAA,CAAA;AAAA,GAC5F;AACD,CAAA,CAAA;AAdiD,MAAA,CAAA,iBAAA,EAAA,kBAAA,CAAA,CAAA;AAA1C,IAAM,gBAAN,GAAA","file":"cookies.cjs","sourcesContent":["import { Middleware } from '../lib/structures/Middleware';\nimport { CookieStore } from '../lib/structures/api/CookieStore';\n\nexport class PluginMiddleware extends Middleware {\n\tprivate readonly production: boolean = process.env.NODE_ENV === 'production';\n\tprivate domainOverwrite: string | null = null;\n\n\tpublic constructor(context: Middleware.LoaderContext) {\n\t\tsuper(context, { position: 30 });\n\n\t\tconst { server } = this.container;\n\t\tthis.domainOverwrite = server.auth?.domainOverwrite ?? null;\n\t}\n\n\tpublic override run(request: Middleware.Request, response: Middleware.Response) {\n\t\tresponse.cookies = new CookieStore(request, response, this.production, this.domainOverwrite);\n\t}\n}\n"]}
|
|
@@ -15,20 +15,17 @@ var _PluginMiddleware = class _PluginMiddleware extends Middleware_cjs.Middlewar
|
|
|
15
15
|
this.origin = this.container.server.options.origin ?? "*";
|
|
16
16
|
this.routes = this.container.stores.get("routes");
|
|
17
17
|
}
|
|
18
|
-
run(request, response
|
|
18
|
+
run(request, response) {
|
|
19
19
|
response.setHeader("Date", (/* @__PURE__ */ new Date()).toUTCString());
|
|
20
20
|
response.setHeader("Access-Control-Allow-Credentials", "true");
|
|
21
21
|
response.setHeader("Access-Control-Allow-Origin", this.origin);
|
|
22
22
|
response.setHeader("Access-Control-Allow-Headers", "Authorization, User-Agent, Content-Type");
|
|
23
|
-
response.setHeader("Access-Control-Allow-Methods", this.getMethods(route));
|
|
24
|
-
this.ensurePotentialEarlyExit(request, response
|
|
23
|
+
response.setHeader("Access-Control-Allow-Methods", this.getMethods(request.route ?? null));
|
|
24
|
+
this.ensurePotentialEarlyExit(request, response);
|
|
25
25
|
}
|
|
26
26
|
getMethods(route) {
|
|
27
27
|
if (route === null) {
|
|
28
|
-
|
|
29
|
-
if (methods.size === 0) return "";
|
|
30
|
-
if (methods.size === 1) return methods.firstKey();
|
|
31
|
-
return [...methods.keys()].join(", ");
|
|
28
|
+
return this.routes.router.supportedMethods.join(", ");
|
|
32
29
|
}
|
|
33
30
|
if (route.methods.size === 0) return "";
|
|
34
31
|
if (route.methods.size === 1) return route.methods.keys().next().value;
|
|
@@ -49,13 +46,15 @@ var _PluginMiddleware = class _PluginMiddleware extends Middleware_cjs.Middlewar
|
|
|
49
46
|
* @param response The API response that will go out
|
|
50
47
|
* @param route The route being requested by the request
|
|
51
48
|
*/
|
|
52
|
-
ensurePotentialEarlyExit(
|
|
53
|
-
if (
|
|
49
|
+
ensurePotentialEarlyExit({ method, route, routerNode }, response) {
|
|
50
|
+
if (method === "OPTIONS") {
|
|
54
51
|
if (!route || !route.methods.has("OPTIONS")) {
|
|
55
52
|
response.end();
|
|
56
53
|
}
|
|
57
|
-
} else if (
|
|
54
|
+
} else if (routerNode === null) {
|
|
58
55
|
response.status(HttpCodes_cjs.HttpCodes.NotFound).end();
|
|
56
|
+
} else if (route === null) {
|
|
57
|
+
response.status(HttpCodes_cjs.HttpCodes.MethodNotAllowed).end();
|
|
59
58
|
}
|
|
60
59
|
}
|
|
61
60
|
};
|
|
@@ -63,5 +62,5 @@ __name(_PluginMiddleware, "PluginMiddleware");
|
|
|
63
62
|
var PluginMiddleware = _PluginMiddleware;
|
|
64
63
|
|
|
65
64
|
exports.PluginMiddleware = PluginMiddleware;
|
|
66
|
-
//# sourceMappingURL=
|
|
65
|
+
//# sourceMappingURL=headers.cjs.map
|
|
67
66
|
//# sourceMappingURL=headers.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/middlewares/headers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/middlewares/headers.ts"],"names":["Middleware","HttpCodes"],"mappings":";;;;;;;;;AAKO,IAAM,iBAAA,GAAN,MAAM,iBAAA,SAAyBA,yBAAW,CAAA;AAAA,EAIzC,YAAY,OAAmC,EAAA;AACrD,IAAA,KAAA,CAAM,OAAS,EAAA,EAAE,QAAU,EAAA,EAAA,EAAI,CAAA,CAAA;AAJhC,IAAiB,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAA;AACjB,IAAiB,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAA;AAIhB,IAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAK,SAAU,CAAA,MAAA,CAAO,QAAQ,MAAU,IAAA,GAAA,CAAA;AACtD,IAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAK,SAAU,CAAA,MAAA,CAAO,IAAI,QAAQ,CAAA,CAAA;AAAA,GACjD;AAAA,EAEgB,GAAA,CAAI,SAA6B,QAA+B,EAAA;AAC/E,IAAA,QAAA,CAAS,UAAU,MAAQ,EAAA,iBAAA,IAAI,IAAK,EAAA,EAAE,aAAa,CAAA,CAAA;AACnD,IAAS,QAAA,CAAA,SAAA,CAAU,oCAAoC,MAAM,CAAA,CAAA;AAC7D,IAAS,QAAA,CAAA,SAAA,CAAU,6BAA+B,EAAA,IAAA,CAAK,MAAM,CAAA,CAAA;AAC7D,IAAS,QAAA,CAAA,SAAA,CAAU,gCAAgC,yCAAyC,CAAA,CAAA;AAC5F,IAAA,QAAA,CAAS,UAAU,8BAAgC,EAAA,IAAA,CAAK,WAAW,OAAQ,CAAA,KAAA,IAAS,IAAI,CAAC,CAAA,CAAA;AAEzF,IAAK,IAAA,CAAA,wBAAA,CAAyB,SAAS,QAAQ,CAAA,CAAA;AAAA,GAChD;AAAA,EAEQ,WAAW,KAAqB,EAAA;AACvC,IAAA,IAAI,UAAU,IAAM,EAAA;AACnB,MAAA,OAAO,IAAK,CAAA,MAAA,CAAO,MAAO,CAAA,gBAAA,CAAiB,KAAK,IAAI,CAAA,CAAA;AAAA,KACrD;AAEA,IAAA,IAAI,KAAM,CAAA,OAAA,CAAQ,IAAS,KAAA,CAAA,EAAU,OAAA,EAAA,CAAA;AACrC,IAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,IAAA,KAAS,CAAG,EAAA,OAAO,MAAM,OAAQ,CAAA,IAAA,EAAO,CAAA,IAAA,EAAO,CAAA,KAAA,CAAA;AACjE,IAAA,OAAO,CAAC,GAAG,KAAA,CAAM,OAAO,CAAA,CAAE,KAAK,IAAI,CAAA,CAAA;AAAA,GACpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBQ,yBAAyB,EAAE,MAAA,EAAQ,KAAO,EAAA,UAAA,IAAkC,QAA+B,EAAA;AAClH,IAAA,IAAI,WAAW,SAAW,EAAA;AACzB,MAAA,IAAI,CAAC,KAAS,IAAA,CAAC,MAAM,OAAQ,CAAA,GAAA,CAAI,SAAS,CAAG,EAAA;AAC5C,QAAA,QAAA,CAAS,GAAI,EAAA,CAAA;AAAA,OACd;AAAA,KACD,MAAA,IAAW,eAAe,IAAM,EAAA;AAC/B,MAAA,QAAA,CAAS,MAAO,CAAAC,uBAAA,CAAU,QAAQ,CAAA,CAAE,GAAI,EAAA,CAAA;AAAA,KACzC,MAAA,IAAW,UAAU,IAAM,EAAA;AAC1B,MAAA,QAAA,CAAS,MAAO,CAAAA,uBAAA,CAAU,gBAAgB,CAAA,CAAE,GAAI,EAAA,CAAA;AAAA,KACjD;AAAA,GACD;AACD,CAAA,CAAA;AAxDiD,MAAA,CAAA,iBAAA,EAAA,kBAAA,CAAA,CAAA;AAA1C,IAAM,gBAAN,GAAA","file":"headers.cjs","sourcesContent":["import { Middleware } from '../lib/structures/Middleware';\nimport type { Route } from '../lib/structures/Route';\nimport type { RouteStore } from '../lib/structures/RouteStore';\nimport { HttpCodes } from '../lib/structures/http/HttpCodes';\n\nexport class PluginMiddleware extends Middleware {\n\tprivate readonly origin: string;\n\tprivate readonly routes: RouteStore;\n\n\tpublic constructor(context: Middleware.LoaderContext) {\n\t\tsuper(context, { position: 10 });\n\t\tthis.origin = this.container.server.options.origin ?? '*';\n\t\tthis.routes = this.container.stores.get('routes');\n\t}\n\n\tpublic override run(request: Middleware.Request, response: Middleware.Response) {\n\t\tresponse.setHeader('Date', new Date().toUTCString());\n\t\tresponse.setHeader('Access-Control-Allow-Credentials', 'true');\n\t\tresponse.setHeader('Access-Control-Allow-Origin', this.origin);\n\t\tresponse.setHeader('Access-Control-Allow-Headers', 'Authorization, User-Agent, Content-Type');\n\t\tresponse.setHeader('Access-Control-Allow-Methods', this.getMethods(request.route ?? null));\n\n\t\tthis.ensurePotentialEarlyExit(request, response);\n\t}\n\n\tprivate getMethods(route: Route | null) {\n\t\tif (route === null) {\n\t\t\treturn this.routes.router.supportedMethods.join(', ');\n\t\t}\n\n\t\tif (route.methods.size === 0) return '';\n\t\tif (route.methods.size === 1) return route.methods.keys().next().value;\n\t\treturn [...route.methods].join(', ');\n\t}\n\n\t/**\n\t * **RFC 7231 4.3.7.**\n\t * > This method allows a client to determine the options and/or requirements associated with a\n\t * > resource, or the capabilities of a server, without implying a resource action.\n\t *\n\t * This method ensures that the request is exited early in case required\n\t * The conditions in which an early exit is required are:\n\t * 1. If the request method is 'OPTIONS'. In this case the request is returned with status code 200\n\t * 2. If the requested route isn't matched with any existing route in the RouteStore.\n\t * In this case the request is returned with a status code 404.\n\t *\n\t * @param request The API Request coming in\n\t * @param response The API response that will go out\n\t * @param route The route being requested by the request\n\t */\n\tprivate ensurePotentialEarlyExit({ method, route, routerNode }: Middleware.Request, response: Middleware.Response) {\n\t\tif (method === 'OPTIONS') {\n\t\t\tif (!route || !route.methods.has('OPTIONS')) {\n\t\t\t\tresponse.end();\n\t\t\t}\n\t\t} else if (routerNode === null) {\n\t\t\tresponse.status(HttpCodes.NotFound).end();\n\t\t} else if (route === null) {\n\t\t\tresponse.status(HttpCodes.MethodNotAllowed).end();\n\t\t}\n\t}\n}\n"]}
|
package/dist/cjs/register.cjs
CHANGED
|
@@ -33,5 +33,5 @@ framework.SapphireClient.plugins.registerPostInitializationHook(Api[framework.po
|
|
|
33
33
|
framework.SapphireClient.plugins.registerPreLoginHook(Api[framework.preLogin], "API-PreLogin");
|
|
34
34
|
|
|
35
35
|
exports.Api = Api;
|
|
36
|
-
//# sourceMappingURL=
|
|
36
|
+
//# sourceMappingURL=register.cjs.map
|
|
37
37
|
//# sourceMappingURL=register.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/register.ts"],"names":[
|
|
1
|
+
{"version":3,"sources":["../../src/register.ts"],"names":["Plugin","postInitialization","Server","loadListeners","loadMediaParsers","loadMiddlewares","loadRoutes","preLogin","SapphireClient"],"mappings":";;;;;;;AASO,IAAM,IAAA,GAAN,MAAM,IAAA,SAAYA,gBAAO,CAAA;AAAA;AAAA;AAAA;AAAA,EAI/B,QAAeC,4BAAkB,CAAA,CAAwB,OAA8B,EAAA;AACtF,IAAA,IAAA,CAAK,MAAS,GAAA,IAAIC,gBAAO,CAAA,OAAA,CAAQ,GAAG,CAAA,CAAA;AACpC,IAAA,IAAA,CAAK,MACH,CAAA,QAAA,CAAS,IAAK,CAAA,MAAA,CAAO,MAAM,CAC3B,CAAA,QAAA,CAAS,IAAK,CAAA,MAAA,CAAO,YAAY,CAAA,CACjC,QAAS,CAAA,IAAA,CAAK,OAAO,WAAW,CAAA,CAAA;AAElC,IAAcC,uBAAA,EAAA,CAAA;AACd,IAAiBC,0BAAA,EAAA,CAAA;AACjB,IAAgBC,yBAAA,EAAA,CAAA;AAChB,IAAWC,oBAAA,EAAA,CAAA;AAAA,GACZ;AAAA;AAAA;AAAA;AAAA,EAKA,cAAqBC,kBAAQ,CAAuC,GAAA;AACnE,IAAA,IAAI,EAAE,IAAA,CAAK,MAAO,CAAA,OAAA,CAAQ,wBAAwB,IAAO,CAAA,EAAA;AACxD,MAAA,OAAA;AAAA,KACD;AAEA,IAAM,MAAA,IAAA,CAAK,OAAO,OAAQ,EAAA,CAAA;AAAA,GAC3B;AACD,CAAA,CAAA;AA3BgC,MAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA;AAAzB,IAAM,GAAN,GAAA,KAAA;AA6BPC,wBAAA,CAAe,OAAQ,CAAA,8BAAA,CAA+B,GAAI,CAAAP,4BAAkB,GAAG,wBAAwB,CAAA,CAAA;AACvGO,wBAAA,CAAe,OAAQ,CAAA,oBAAA,CAAqB,GAAI,CAAAD,kBAAQ,GAAG,cAAc,CAAA","file":"register.cjs","sourcesContent":["import './index';\n\nimport { Plugin, postInitialization, preLogin, SapphireClient } from '@sapphire/framework';\nimport type { ClientOptions } from 'discord.js';\nimport { loadListeners, loadMediaParsers, loadMiddlewares, loadRoutes, Server } from './index';\n\n/**\n * @since 1.0.0\n */\nexport class Api extends Plugin {\n\t/**\n\t * @since 1.0.0\n\t */\n\tpublic static [postInitialization](this: SapphireClient, options: ClientOptions): void {\n\t\tthis.server = new Server(options.api);\n\t\tthis.stores\n\t\t\t.register(this.server.routes) //\n\t\t\t.register(this.server.mediaParsers)\n\t\t\t.register(this.server.middlewares);\n\n\t\tloadListeners();\n\t\tloadMediaParsers();\n\t\tloadMiddlewares();\n\t\tloadRoutes();\n\t}\n\n\t/**\n\t * @since 1.0.0\n\t */\n\tpublic static async [preLogin](this: SapphireClient): Promise<void> {\n\t\tif (!(this.server.options.automaticallyConnect ?? true)) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.server.connect();\n\t}\n}\n\nSapphireClient.plugins.registerPostInitializationHook(Api[postInitialization], 'API-PostInitialization');\nSapphireClient.plugins.registerPreLoginHook(Api[preLogin], 'API-PreLogin');\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/routes/_load.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/routes/_load.ts"],"names":["container","PluginOAuthCallback","PluginOAuthLogout"],"mappings":";;;;;;;;AAIO,SAAS,UAAa,GAAA;AAC5B,EAAA,MAAM,KAAQ,GAAA,QAAA,CAAA;AACd,EAAK,KAAAA,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,UAAY,EAAA,KAAA,EAAOC,6BAAqB,EAAA,KAAA,EAAO,CAAA,CAAA;AACvF,EAAK,KAAAD,gBAAA,CAAU,OAAO,SAAU,CAAA,EAAE,MAAM,QAAU,EAAA,KAAA,EAAOE,2BAAmB,EAAA,KAAA,EAAO,CAAA,CAAA;AACpF,CAAA;AAJgB,MAAA,CAAA,UAAA,EAAA,YAAA,CAAA","file":"_load.cjs","sourcesContent":["import { container } from '@sapphire/pieces';\nimport { PluginRoute as PluginOAuthCallback } from './oauth/callback.post';\nimport { PluginRoute as PluginOAuthLogout } from './oauth/logout.post';\n\nexport function loadRoutes() {\n\tconst store = 'routes' as const;\n\tvoid container.stores.loadPiece({ name: 'callback', piece: PluginOAuthCallback, store });\n\tvoid container.stores.loadPiece({ name: 'logout', piece: PluginOAuthLogout, store });\n}\n"]}
|