equipped 5.1.11 → 5.2.0
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 +16 -0
- package/dist/cjs/errors/index.cjs +1 -2
- package/dist/cjs/errors/index.cjs.map +1 -1
- package/dist/cjs/errors/index.min.cjs +1 -1
- package/dist/cjs/errors/index.min.cjs.map +1 -1
- package/dist/cjs/errors/types/tokenExpired.cjs +12 -0
- package/dist/cjs/errors/types/tokenExpired.cjs.map +1 -0
- package/dist/cjs/errors/types/{refreshTokenMisusedError.min.cjs → tokenExpired.min.cjs} +2 -2
- package/dist/cjs/errors/types/tokenExpired.min.cjs.map +1 -0
- package/dist/cjs/instance/index.cjs.map +1 -1
- package/dist/cjs/instance/index.min.cjs.map +1 -1
- package/dist/cjs/server/impls/base.cjs +17 -17
- package/dist/cjs/server/impls/base.cjs.map +1 -1
- package/dist/cjs/server/impls/base.min.cjs +1 -1
- package/dist/cjs/server/impls/base.min.cjs.map +1 -1
- package/dist/cjs/server/impls/express.cjs +2 -13
- package/dist/cjs/server/impls/express.cjs.map +1 -1
- package/dist/cjs/server/impls/express.min.cjs +1 -1
- package/dist/cjs/server/impls/express.min.cjs.map +1 -1
- package/dist/cjs/server/impls/fastify.cjs +3 -14
- package/dist/cjs/server/impls/fastify.cjs.map +1 -1
- package/dist/cjs/server/impls/fastify.min.cjs +1 -1
- package/dist/cjs/server/impls/fastify.min.cjs.map +1 -1
- package/dist/cjs/server/index.cjs +1 -1
- package/dist/cjs/server/index.cjs.map +1 -1
- package/dist/cjs/server/index.min.cjs +1 -1
- package/dist/cjs/server/index.min.cjs.map +1 -1
- package/dist/cjs/server/middlewares/requireAuthUser.cjs +9 -52
- package/dist/cjs/server/middlewares/requireAuthUser.cjs.map +1 -1
- package/dist/cjs/server/middlewares/requireAuthUser.min.cjs +1 -1
- package/dist/cjs/server/middlewares/requireAuthUser.min.cjs.map +1 -1
- package/dist/cjs/server/pipes.cjs +23 -8
- package/dist/cjs/server/pipes.cjs.map +1 -1
- package/dist/cjs/server/pipes.min.cjs +1 -1
- package/dist/cjs/server/pipes.min.cjs.map +1 -1
- package/dist/cjs/server/requests-auth-methods/apiKeys.cjs +21 -0
- package/dist/cjs/server/requests-auth-methods/apiKeys.cjs.map +1 -0
- package/dist/cjs/server/requests-auth-methods/apiKeys.min.cjs +2 -0
- package/dist/cjs/server/requests-auth-methods/apiKeys.min.cjs.map +1 -0
- package/dist/cjs/server/requests-auth-methods/base.cjs +20 -0
- package/dist/cjs/server/requests-auth-methods/base.cjs.map +1 -0
- package/dist/cjs/server/requests-auth-methods/base.min.cjs +2 -0
- package/dist/cjs/server/requests-auth-methods/base.min.cjs.map +1 -0
- package/dist/cjs/server/{requests-auth → requests-auth-methods}/index.cjs +2 -1
- package/dist/cjs/server/requests-auth-methods/index.cjs.map +1 -0
- package/dist/cjs/server/{requests-auth → requests-auth-methods}/index.min.cjs +1 -1
- package/dist/cjs/server/requests-auth-methods/index.min.cjs.map +1 -0
- package/dist/cjs/server/requests-auth-methods/jwt.cjs +78 -0
- package/dist/cjs/server/requests-auth-methods/jwt.cjs.map +1 -0
- package/dist/cjs/server/requests-auth-methods/jwt.min.cjs +2 -0
- package/dist/cjs/server/requests-auth-methods/jwt.min.cjs.map +1 -0
- package/dist/cjs/server/requests.cjs +1 -9
- package/dist/cjs/server/requests.cjs.map +1 -1
- package/dist/cjs/server/requests.min.cjs +1 -1
- package/dist/cjs/server/requests.min.cjs.map +1 -1
- package/dist/cjs/server/routes.cjs +1 -2
- package/dist/cjs/server/routes.cjs.map +1 -1
- package/dist/cjs/server/routes.min.cjs +1 -1
- package/dist/cjs/server/routes.min.cjs.map +1 -1
- package/dist/cjs/server/sockets.cjs +2 -4
- package/dist/cjs/server/sockets.cjs.map +1 -1
- package/dist/cjs/server/sockets.min.cjs +1 -1
- package/dist/cjs/server/sockets.min.cjs.map +1 -1
- package/dist/cjs/server/types.cjs +1 -1
- package/dist/cjs/server/types.cjs.map +1 -1
- package/dist/cjs/server/types.min.cjs +1 -1
- package/dist/cjs/server/types.min.cjs.map +1 -1
- package/dist/esm/errors/index.min.mjs +1 -1
- package/dist/esm/errors/index.min.mjs.map +1 -1
- package/dist/esm/errors/index.mjs +1 -2
- package/dist/esm/errors/index.mjs.map +1 -1
- package/dist/esm/errors/types/tokenExpired.min.mjs +2 -0
- package/dist/esm/errors/types/tokenExpired.min.mjs.map +1 -0
- package/dist/esm/errors/types/tokenExpired.mjs +12 -0
- package/dist/esm/errors/types/tokenExpired.mjs.map +1 -0
- package/dist/esm/instance/index.min.mjs +1 -1
- package/dist/esm/instance/index.min.mjs.map +1 -1
- package/dist/esm/instance/index.mjs.map +1 -1
- package/dist/esm/server/impls/base.min.mjs +1 -1
- package/dist/esm/server/impls/base.min.mjs.map +1 -1
- package/dist/esm/server/impls/base.mjs +9 -9
- package/dist/esm/server/impls/base.mjs.map +1 -1
- package/dist/esm/server/impls/express.min.mjs +1 -1
- package/dist/esm/server/impls/express.min.mjs.map +1 -1
- package/dist/esm/server/impls/express.mjs +2 -13
- package/dist/esm/server/impls/express.mjs.map +1 -1
- package/dist/esm/server/impls/fastify.min.mjs +1 -1
- package/dist/esm/server/impls/fastify.min.mjs.map +1 -1
- package/dist/esm/server/impls/fastify.mjs +2 -13
- package/dist/esm/server/impls/fastify.mjs.map +1 -1
- package/dist/esm/server/index.min.mjs +1 -1
- package/dist/esm/server/index.min.mjs.map +1 -1
- package/dist/esm/server/index.mjs +1 -1
- package/dist/esm/server/index.mjs.map +1 -1
- package/dist/esm/server/middlewares/requireAuthUser.min.mjs +1 -1
- package/dist/esm/server/middlewares/requireAuthUser.min.mjs.map +1 -1
- package/dist/esm/server/middlewares/requireAuthUser.mjs +9 -52
- package/dist/esm/server/middlewares/requireAuthUser.mjs.map +1 -1
- package/dist/esm/server/pipes.min.mjs +1 -1
- package/dist/esm/server/pipes.min.mjs.map +1 -1
- package/dist/esm/server/pipes.mjs +23 -8
- package/dist/esm/server/pipes.mjs.map +1 -1
- package/dist/esm/server/requests-auth-methods/apiKeys.min.mjs +2 -0
- package/dist/esm/server/requests-auth-methods/apiKeys.min.mjs.map +1 -0
- package/dist/esm/server/requests-auth-methods/apiKeys.mjs +21 -0
- package/dist/esm/server/requests-auth-methods/apiKeys.mjs.map +1 -0
- package/dist/esm/server/requests-auth-methods/base.min.mjs +2 -0
- package/dist/esm/server/requests-auth-methods/base.min.mjs.map +1 -0
- package/dist/esm/server/requests-auth-methods/base.mjs +20 -0
- package/dist/esm/server/requests-auth-methods/base.mjs.map +1 -0
- package/dist/esm/server/requests-auth-methods/index.min.mjs +2 -0
- package/dist/esm/server/requests-auth-methods/index.min.mjs.map +1 -0
- package/dist/esm/server/requests-auth-methods/index.mjs +4 -0
- package/dist/esm/server/requests-auth-methods/index.mjs.map +1 -0
- package/dist/esm/server/requests-auth-methods/jwt.min.mjs +2 -0
- package/dist/esm/server/requests-auth-methods/jwt.min.mjs.map +1 -0
- package/dist/esm/server/requests-auth-methods/jwt.mjs +78 -0
- package/dist/esm/server/requests-auth-methods/jwt.mjs.map +1 -0
- package/dist/esm/server/requests.min.mjs +1 -1
- package/dist/esm/server/requests.min.mjs.map +1 -1
- package/dist/esm/server/requests.mjs +1 -9
- package/dist/esm/server/requests.mjs.map +1 -1
- package/dist/esm/server/routes.min.mjs +1 -1
- package/dist/esm/server/routes.min.mjs.map +1 -1
- package/dist/esm/server/routes.mjs +1 -2
- package/dist/esm/server/routes.mjs.map +1 -1
- package/dist/esm/server/sockets.min.mjs +1 -1
- package/dist/esm/server/sockets.min.mjs.map +1 -1
- package/dist/esm/server/sockets.mjs +2 -4
- package/dist/esm/server/sockets.mjs.map +1 -1
- package/dist/esm/server/types.min.mjs +1 -1
- package/dist/esm/server/types.min.mjs.map +1 -1
- package/dist/esm/server/types.mjs +1 -1
- package/dist/esm/server/types.mjs.map +1 -1
- package/dist/types/cache/index.d.ts +7 -1
- package/dist/types/errors/index.d.ts +7 -12
- package/dist/types/errors/index.js +1 -2
- package/dist/types/errors/types/tokenExpired.js +11 -0
- package/dist/types/{fastify-CDJ2WuLy.d.ts → fastify-B6FUtYe9.d.ts} +5 -4
- package/dist/types/index.d.ts +4 -4
- package/dist/types/instance/index.d.ts +63 -16
- package/dist/types/{requestError-DqkM5BfW.d.ts → requestError-7N-ngghg.d.ts} +97 -80
- package/dist/types/server/impls/base.js +9 -9
- package/dist/types/server/impls/express.js +2 -13
- package/dist/types/server/impls/fastify.js +2 -13
- package/dist/types/server/index.d.ts +62 -20
- package/dist/types/server/index.js +1 -1
- package/dist/types/server/middlewares/requireAuthUser.js +9 -52
- package/dist/types/server/pipes.js +23 -8
- package/dist/types/server/requests-auth-methods/apiKeys.js +20 -0
- package/dist/types/server/requests-auth-methods/base.js +19 -0
- package/dist/types/server/requests-auth-methods/index.js +3 -0
- package/dist/types/server/requests-auth-methods/jwt.js +77 -0
- package/dist/types/server/requests.js +1 -9
- package/dist/types/server/routes.js +1 -2
- package/dist/types/server/sockets.js +2 -4
- package/dist/types/server/types.js +1 -1
- package/dist/types/{validationError-BMKfV51p.d.ts → validationError-BB4cfdZa.d.ts} +1 -1
- package/dist/types/validations/index.d.ts +3 -9
- package/package.json +13 -12
- package/dist/cjs/errors/types/authorizationExpired.cjs +0 -12
- package/dist/cjs/errors/types/authorizationExpired.cjs.map +0 -1
- package/dist/cjs/errors/types/authorizationExpired.min.cjs +0 -2
- package/dist/cjs/errors/types/authorizationExpired.min.cjs.map +0 -1
- package/dist/cjs/errors/types/refreshTokenMisusedError.cjs +0 -12
- package/dist/cjs/errors/types/refreshTokenMisusedError.cjs.map +0 -1
- package/dist/cjs/errors/types/refreshTokenMisusedError.min.cjs.map +0 -1
- package/dist/cjs/server/middlewares/parseAuthUser.cjs +0 -21
- package/dist/cjs/server/middlewares/parseAuthUser.cjs.map +0 -1
- package/dist/cjs/server/middlewares/parseAuthUser.min.cjs +0 -2
- package/dist/cjs/server/middlewares/parseAuthUser.min.cjs.map +0 -1
- package/dist/cjs/server/requests-auth/apiKeys.cjs +0 -6
- package/dist/cjs/server/requests-auth/apiKeys.cjs.map +0 -1
- package/dist/cjs/server/requests-auth/apiKeys.min.cjs +0 -2
- package/dist/cjs/server/requests-auth/apiKeys.min.cjs.map +0 -1
- package/dist/cjs/server/requests-auth/index.cjs.map +0 -1
- package/dist/cjs/server/requests-auth/index.min.cjs.map +0 -1
- package/dist/cjs/server/requests-auth/tokens.cjs +0 -92
- package/dist/cjs/server/requests-auth/tokens.cjs.map +0 -1
- package/dist/cjs/server/requests-auth/tokens.min.cjs +0 -2
- package/dist/cjs/server/requests-auth/tokens.min.cjs.map +0 -1
- package/dist/esm/errors/types/authorizationExpired.min.mjs +0 -2
- package/dist/esm/errors/types/authorizationExpired.min.mjs.map +0 -1
- package/dist/esm/errors/types/authorizationExpired.mjs +0 -12
- package/dist/esm/errors/types/authorizationExpired.mjs.map +0 -1
- package/dist/esm/errors/types/refreshTokenMisusedError.min.mjs +0 -2
- package/dist/esm/errors/types/refreshTokenMisusedError.min.mjs.map +0 -1
- package/dist/esm/errors/types/refreshTokenMisusedError.mjs +0 -12
- package/dist/esm/errors/types/refreshTokenMisusedError.mjs.map +0 -1
- package/dist/esm/server/middlewares/parseAuthUser.min.mjs +0 -2
- package/dist/esm/server/middlewares/parseAuthUser.min.mjs.map +0 -1
- package/dist/esm/server/middlewares/parseAuthUser.mjs +0 -21
- package/dist/esm/server/middlewares/parseAuthUser.mjs.map +0 -1
- package/dist/esm/server/requests-auth/apiKeys.min.mjs +0 -2
- package/dist/esm/server/requests-auth/apiKeys.min.mjs.map +0 -1
- package/dist/esm/server/requests-auth/apiKeys.mjs +0 -6
- package/dist/esm/server/requests-auth/apiKeys.mjs.map +0 -1
- package/dist/esm/server/requests-auth/index.min.mjs +0 -2
- package/dist/esm/server/requests-auth/index.min.mjs.map +0 -1
- package/dist/esm/server/requests-auth/index.mjs +0 -3
- package/dist/esm/server/requests-auth/index.mjs.map +0 -1
- package/dist/esm/server/requests-auth/tokens.min.mjs +0 -2
- package/dist/esm/server/requests-auth/tokens.min.mjs.map +0 -1
- package/dist/esm/server/requests-auth/tokens.mjs +0 -92
- package/dist/esm/server/requests-auth/tokens.mjs.map +0 -1
- package/dist/types/base-8yVXb67P.d.ts +0 -8
- package/dist/types/errors/types/authorizationExpired.js +0 -11
- package/dist/types/errors/types/refreshTokenMisusedError.js +0 -11
- package/dist/types/server/middlewares/parseAuthUser.js +0 -20
- package/dist/types/server/requests-auth/apiKeys.js +0 -5
- package/dist/types/server/requests-auth/index.js +0 -2
- package/dist/types/server/requests-auth/tokens.js +0 -91
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/impls/express.ts"],"names":["ExpressServer","http","req","headers","key","val","files","uploads","file","fileArray","f","getMediaDuration","Request","response","res","value","opts","path","cb","#expressApp","err","_next","port","app","reject","config","instance","cookie","helmet","cors","express","fileUpload","rateLimit","StatusCodes"],"mappings":"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","file":"/home/runner/work/equipped/equipped/dist/cjs/server/impls/express.min.cjs","sourcesContent":["import http from 'http'\n\nimport cookie from 'cookie-parser'\nimport cors from 'cors'\nimport express from 'express'\nimport fileUpload from 'express-fileupload'\nimport { rateLimit } from 'express-rate-limit'\n// import slowDown from 'express-slow-down'\nimport helmet from 'helmet'\nimport { pinoHttp } from 'pino-http'\n\nimport { Instance } from '../../instance'\nimport { getMediaDuration } from '../../utilities'\nimport type { ServerConfig } from '../pipes'\nimport { Request } from '../requests'\nimport { type IncomingFile, StatusCodes } from '../types'\nimport { Server } from './base'\n\nexport class ExpressServer extends Server<express.Request, express.Response> {\n\t#expressApp: express.Express\n\n\tconstructor(config: ServerConfig) {\n\t\tconst app = express()\n\t\tconst instance = Instance.get()\n\t\tsuper(http.createServer(app), config, {\n\t\t\tparseRequest: async (req) => {\n\t\t\t\tconst allHeaders = Object.fromEntries(Object.entries(req.headers).map(([key, val]) => [key, val ?? null]))\n\t\t\t\tconst headers = {\n\t\t\t\t\t...allHeaders,\n\t\t\t\t\tAuthorization: req.get('authorization'),\n\t\t\t\t\tRefreshToken: req.get('x-refresh-token'),\n\t\t\t\t\tApiKey: req.get('x-api-key'),\n\t\t\t\t\tContentType: req.get('content-type'),\n\t\t\t\t\tReferer: req.get('referer'),\n\t\t\t\t\tUserAgent: req.get('user-agent'),\n\t\t\t\t}\n\t\t\t\tconst files = Object.fromEntries(\n\t\t\t\t\tawait Promise.all(\n\t\t\t\t\t\tObject.entries(req.files ?? {}).map(async ([key, file]) => {\n\t\t\t\t\t\t\tconst uploads = Array.isArray(file) ? file : [file]\n\t\t\t\t\t\t\tconst fileArray: IncomingFile[] = await Promise.all(\n\t\t\t\t\t\t\t\tuploads.map(async (f) => ({\n\t\t\t\t\t\t\t\t\tname: f.name,\n\t\t\t\t\t\t\t\t\ttype: f.mimetype,\n\t\t\t\t\t\t\t\t\tsize: f.size,\n\t\t\t\t\t\t\t\t\tisTruncated: f.truncated,\n\t\t\t\t\t\t\t\t\tdata: f.data,\n\t\t\t\t\t\t\t\t\tduration: await getMediaDuration(f.data),\n\t\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn <const>[key, fileArray]\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t)\n\n\t\t\t\treturn new Request<any>({\n\t\t\t\t\tip: req.ip,\n\t\t\t\t\tbody: req.body ?? {},\n\t\t\t\t\tcookies: req.cookies ?? {},\n\t\t\t\t\tparams: req.params ?? {},\n\t\t\t\t\tquery: req.query ?? {},\n\t\t\t\t\tmethod: <any>req.method,\n\t\t\t\t\tpath: req.path,\n\t\t\t\t\theaders,\n\t\t\t\t\tfiles,\n\t\t\t\t\tcontext: {},\n\t\t\t\t})\n\t\t\t},\n\t\t\thandleResponse: async (res, response) => {\n\t\t\t\tif (!response.piped) {\n\t\t\t\t\tObject.entries(response.headers).forEach(([key, value]) => res.header(key, value as string))\n\t\t\t\t\tObject.entries(response.cookies).forEach(([key, { value, ...opts }]) => res.cookie(key, value, opts))\n\t\t\t\t\tconst type = response.body === null || response.body === undefined ? 'json' : 'send'\n\t\t\t\t\tres.status(response.status)[type](response.body).end()\n\t\t\t\t} else {\n\t\t\t\t\tresponse.body.pipe(res)\n\t\t\t\t}\n\t\t\t},\n\t\t\tregisterRoute: (method, path, cb) => {\n\t\t\t\tthis.#expressApp[method]?.(path, cb)\n\t\t\t},\n\t\t\tregisterErrorHandler: (cb) => {\n\t\t\t\tthis.#expressApp.use(async (err, req, res, _next) => cb(err, req, res))\n\t\t\t},\n\t\t\tregisterNotFoundHandler: (cb) => {\n\t\t\t\tthis.#expressApp.use(cb)\n\t\t\t},\n\t\t\tstart: async (port) =>\n\t\t\t\tnew Promise((resolve: (s: boolean) => void, reject: (e: Error) => void) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst app = this.server.listen({ host: '0.0.0.0', port }, async () => resolve(true))\n\t\t\t\t\t\tInstance.on('close', app.close, 1)\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\treject(<Error>err)\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t})\n\t\tthis.#expressApp = app\n\n\t\tapp.disable('x-powered-by')\n\t\tif (config.requests.log) app.use(pinoHttp({ logger: instance.log }))\n\t\tapp.use(express.json())\n\t\tapp.use(express.text())\n\t\tapp.use(cookie())\n\t\tapp.use(\n\t\t\thelmet({\n\t\t\t\tcrossOriginResourcePolicy: { policy: 'cross-origin' },\n\t\t\t\tcontentSecurityPolicy: false,\n\t\t\t}),\n\t\t)\n\t\tapp.use(cors(this.cors))\n\t\tapp.use(express.urlencoded({ extended: false }))\n\t\tif (config.publicPath) app.use(express.static(config.publicPath))\n\t\tapp.use(\n\t\t\tfileUpload({\n\t\t\t\tlimits: { fileSize: instance.settings.utils.maxFileUploadSizeInMb * 1024 * 1024 },\n\t\t\t\tuseTempFiles: false,\n\t\t\t}),\n\t\t)\n\t\tif (config.requests.rateLimit.enabled)\n\t\t\tapp.use(\n\t\t\t\trateLimit({\n\t\t\t\t\twindowMs: config.requests.rateLimit.periodInMs,\n\t\t\t\t\tlimit: config.requests.rateLimit.limit,\n\t\t\t\t\thandler: (_: express.Request, res: express.Response) =>\n\t\t\t\t\t\tres.status(StatusCodes.TooManyRequests).json([{ message: 'Too Many Requests' }]),\n\t\t\t\t}),\n\t\t\t)\n\t\t/* if (this.settings.slowdown.enabled) app.use(slowDown({\n\t\t\twindowMs: this.settings.slowdown.periodInMs,\n\t\t\tdelayAfter: this.settings.slowdown.delayAfter,\n\t\t\tdelayMs: this.settings.slowdown.delayInMs\n\t\t})) */\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/server/impls/express.ts"],"names":["ExpressServer","http","req","files","key","uploads","file","fileArray","f","getMediaDuration","Request","res","response","value","opts","path","cb","#expressApp","err","_next","port","app","reject","config","instance","cookie","helmet","cors","express","fileUpload","rateLimit","StatusCodes"],"mappings":"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","file":"/home/runner/work/equipped/equipped/dist/cjs/server/impls/express.min.cjs","sourcesContent":["import http from 'http'\n\nimport cookie from 'cookie-parser'\nimport cors from 'cors'\nimport express from 'express'\nimport fileUpload from 'express-fileupload'\nimport { rateLimit } from 'express-rate-limit'\n// import slowDown from 'express-slow-down'\nimport helmet from 'helmet'\nimport { pinoHttp } from 'pino-http'\n\nimport { Instance } from '../../instance'\nimport { getMediaDuration } from '../../utilities'\nimport type { ServerConfig } from '../pipes'\nimport { Request } from '../requests'\nimport { type IncomingFile, StatusCodes } from '../types'\nimport { Server } from './base'\n\nexport class ExpressServer extends Server<express.Request, express.Response> {\n\t#expressApp: express.Express\n\n\tconstructor(config: ServerConfig) {\n\t\tconst app = express()\n\t\tconst instance = Instance.get()\n\t\tsuper(http.createServer(app), config, {\n\t\t\tparseRequest: async (req) => {\n\t\t\t\tconst files = Object.fromEntries(\n\t\t\t\t\tawait Promise.all(\n\t\t\t\t\t\tObject.entries(req.files ?? {}).map(async ([key, file]) => {\n\t\t\t\t\t\t\tconst uploads = Array.isArray(file) ? file : [file]\n\t\t\t\t\t\t\tconst fileArray: IncomingFile[] = await Promise.all(\n\t\t\t\t\t\t\t\tuploads.map(async (f) => ({\n\t\t\t\t\t\t\t\t\tname: f.name,\n\t\t\t\t\t\t\t\t\ttype: f.mimetype,\n\t\t\t\t\t\t\t\t\tsize: f.size,\n\t\t\t\t\t\t\t\t\tisTruncated: f.truncated,\n\t\t\t\t\t\t\t\t\tdata: f.data,\n\t\t\t\t\t\t\t\t\tduration: await getMediaDuration(f.data),\n\t\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn <const>[key, fileArray]\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t)\n\n\t\t\t\treturn new Request<any>({\n\t\t\t\t\tip: req.ip,\n\t\t\t\t\tbody: req.body ?? {},\n\t\t\t\t\tcookies: req.cookies ?? {},\n\t\t\t\t\tparams: req.params ?? {},\n\t\t\t\t\tquery: req.query ?? {},\n\t\t\t\t\tmethod: <any>req.method,\n\t\t\t\t\tpath: req.path,\n\t\t\t\t\theaders: req.headers,\n\t\t\t\t\tfiles,\n\t\t\t\t})\n\t\t\t},\n\t\t\thandleResponse: async (res, response) => {\n\t\t\t\tif (!response.piped) {\n\t\t\t\t\tObject.entries(response.headers).forEach(([key, value]) => res.header(key, value as string))\n\t\t\t\t\tObject.entries(response.cookies).forEach(([key, { value, ...opts }]) => res.cookie(key, value, opts))\n\t\t\t\t\tconst type = response.body === null || response.body === undefined ? 'json' : 'send'\n\t\t\t\t\tres.status(response.status)[type](response.body).end()\n\t\t\t\t} else {\n\t\t\t\t\tresponse.body.pipe(res)\n\t\t\t\t}\n\t\t\t},\n\t\t\tregisterRoute: (method, path, cb) => {\n\t\t\t\tthis.#expressApp[method]?.(path, cb)\n\t\t\t},\n\t\t\tregisterErrorHandler: (cb) => {\n\t\t\t\tthis.#expressApp.use(async (err, req, res, _next) => cb(err, req, res))\n\t\t\t},\n\t\t\tregisterNotFoundHandler: (cb) => {\n\t\t\t\tthis.#expressApp.use(cb)\n\t\t\t},\n\t\t\tstart: async (port) =>\n\t\t\t\tnew Promise((resolve: (s: boolean) => void, reject: (e: Error) => void) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst app = this.server.listen({ host: '0.0.0.0', port }, async () => resolve(true))\n\t\t\t\t\t\tInstance.on('close', app.close, 1)\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\treject(<Error>err)\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t})\n\t\tthis.#expressApp = app\n\n\t\tapp.disable('x-powered-by')\n\t\tif (config.requests.log) app.use(pinoHttp({ logger: instance.log }))\n\t\tapp.use(express.json())\n\t\tapp.use(express.text())\n\t\tapp.use(cookie())\n\t\tapp.use(\n\t\t\thelmet({\n\t\t\t\tcrossOriginResourcePolicy: { policy: 'cross-origin' },\n\t\t\t\tcontentSecurityPolicy: false,\n\t\t\t}),\n\t\t)\n\t\tapp.use(cors(this.cors))\n\t\tapp.use(express.urlencoded({ extended: false }))\n\t\tif (config.publicPath) app.use(express.static(config.publicPath))\n\t\tapp.use(\n\t\t\tfileUpload({\n\t\t\t\tlimits: { fileSize: instance.settings.utils.maxFileUploadSizeInMb * 1024 * 1024 },\n\t\t\t\tuseTempFiles: false,\n\t\t\t}),\n\t\t)\n\t\tif (config.requests.rateLimit.enabled)\n\t\t\tapp.use(\n\t\t\t\trateLimit({\n\t\t\t\t\twindowMs: config.requests.rateLimit.periodInMs,\n\t\t\t\t\tlimit: config.requests.rateLimit.limit,\n\t\t\t\t\thandler: (_: express.Request, res: express.Response) =>\n\t\t\t\t\t\tres.status(StatusCodes.TooManyRequests).json([{ message: 'Too Many Requests' }]),\n\t\t\t\t}),\n\t\t\t)\n\t\t/* if (this.settings.slowdown.enabled) app.use(slowDown({\n\t\t\twindowMs: this.settings.slowdown.periodInMs,\n\t\t\tdelayAfter: this.settings.slowdown.delayAfter,\n\t\t\tdelayMs: this.settings.slowdown.delayInMs\n\t\t})) */\n\t}\n}\n"]}
|
|
@@ -33,16 +33,6 @@ class FastifyServer extends _basecjs.Server {
|
|
|
33
33
|
});
|
|
34
34
|
super(app.server, config, {
|
|
35
35
|
parseRequest: async (req) => {
|
|
36
|
-
const allHeaders = Object.fromEntries(Object.entries(req.headers).map(([key, val]) => [key, _nullishCoalesce(val, () => ( null))]));
|
|
37
|
-
const headers = {
|
|
38
|
-
...allHeaders,
|
|
39
|
-
Authorization: _optionalChain([req, 'access', _2 => _2.headers, 'access', _3 => _3["authorization"], 'optionalAccess', _4 => _4.toString, 'call', _5 => _5()]),
|
|
40
|
-
RefreshToken: _optionalChain([req, 'access', _6 => _6.headers, 'access', _7 => _7["x-refresh-token"], 'optionalAccess', _8 => _8.toString, 'call', _9 => _9()]),
|
|
41
|
-
ApiKey: _optionalChain([req, 'access', _10 => _10.headers, 'access', _11 => _11["x-api-key"], 'optionalAccess', _12 => _12.toString, 'call', _13 => _13()]),
|
|
42
|
-
ContentType: _optionalChain([req, 'access', _14 => _14.headers, 'access', _15 => _15["content-type"], 'optionalAccess', _16 => _16.toString, 'call', _17 => _17()]),
|
|
43
|
-
Referer: _optionalChain([req, 'access', _18 => _18.headers, 'access', _19 => _19["referer"], 'optionalAccess', _20 => _20.toString, 'call', _21 => _21()]),
|
|
44
|
-
UserAgent: _optionalChain([req, 'access', _22 => _22.headers, 'access', _23 => _23["user-agent"], 'optionalAccess', _24 => _24.toString, 'call', _25 => _25()])
|
|
45
|
-
};
|
|
46
36
|
const { body, files } = excludeBufferKeys(_nullishCoalesce(req.body, () => ( {})));
|
|
47
37
|
return new (0, _requestscjs.Request)({
|
|
48
38
|
ip: req.ip,
|
|
@@ -52,9 +42,8 @@ class FastifyServer extends _basecjs.Server {
|
|
|
52
42
|
query: _nullishCoalesce(req.query, () => ( {})),
|
|
53
43
|
method: req.method,
|
|
54
44
|
path: req.url,
|
|
55
|
-
headers,
|
|
56
|
-
files
|
|
57
|
-
context: {}
|
|
45
|
+
headers: req.headers,
|
|
46
|
+
files
|
|
58
47
|
});
|
|
59
48
|
},
|
|
60
49
|
handleResponse: async (res, response) => {
|
|
@@ -118,7 +107,7 @@ class FastifyServer extends _basecjs.Server {
|
|
|
118
107
|
function excludeBufferKeys(body) {
|
|
119
108
|
if (typeof body !== "object") return { body, files: {} };
|
|
120
109
|
const entries = Object.entries(_nullishCoalesce(body, () => ( {})));
|
|
121
|
-
const isFile = (val) => Array.isArray(val) ? isFile(val.at(0)) : Buffer.isBuffer(_optionalChain([val, 'optionalAccess',
|
|
110
|
+
const isFile = (val) => Array.isArray(val) ? isFile(val.at(0)) : Buffer.isBuffer(_optionalChain([val, 'optionalAccess', _2 => _2.data]));
|
|
122
111
|
const fileEntries = entries.filter(([_, value]) => isFile(value)).map(([key, value]) => [key, Array.isArray(value) ? value : [value]]);
|
|
123
112
|
const nonFileEntries = entries.filter(([_, value]) => !isFile(value));
|
|
124
113
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/impls/fastify.ts","/home/runner/work/equipped/equipped/dist/cjs/server/impls/fastify.cjs"],"names":[],"mappings":"AAAA,02BAA0B;AAC1B,iFAAwB;AACxB,iGAA4B;AAC5B,yFAA0B;AAC1B,qGAA6B;AAC7B,sGAA6B;AAC7B,yFAA0B;AAE1B,oFAAoB;AAEpB,gEAAe;AAEf,kDAAgC;AAChC,qDAAyB;AACzB,sDAAiC;AAEjC,8CAAwB;AACxB,wCAA+C;AAC/C,qCAAuB;AAEhB,MAAM,cAAA,QAAsB,gBAAqC;AAAA,EACvE,WAAA,CAAY,MAAA,EAAsB;AACjC,IAAA,MAAM,SAAA,EAAW,mBAAA,CAAS,GAAA,CAAI,CAAA;AAC9B,IAAA,MAAM,IAAA,EAAM,+BAAA;AAAQ,MACnB,qBAAA,EAAuB,CAAC,MAAA,CAAO,QAAA,CAAS,GAAA;AAAA,MACxC,cAAA,EAAgB,MAAA,CAAO,QAAA,CAAS,IAAA,EAAM,QAAA,CAAS,IAAA,EAAM,KAAA,CAAA;AAAA,MACrD,GAAA,EAAK,EAAE,aAAA,EAAe,EAAE,WAAA,EAAa,MAAM,EAAE,CAAA;AAAA,MAC7C,aAAA,EAAe;AAAA,QACd,mBAAA,EAAqB,IAAA;AAAA,QACrB,aAAA,EAAe;AAAA,MAChB,CAAA;AAAA,MACA,oBAAA,EAAsB,CAAC,MAAA,EAAQ,IAAA,EAAA,GAC9B,IAAI,8BAAA;AAAA,QACH,MAAA,CAAO,GAAA,CAAI,CAAC,KAAA,EAAA,GAAA,CAAW;AAAA,UACtB,QAAA,EAAU,kBAAC,KAAA,CAAM,OAAA,UAAW,IAAE,CAAA;AAAA,UAC9B,KAAA,EAAO,CAAA,EAAA;AACN,QAAA;AACH,MAAA;AACD,IAAA;AACS,IAAA;AACT,MAAA;
|
|
1
|
+
{"version":3,"sources":["../../../../src/server/impls/fastify.ts","/home/runner/work/equipped/equipped/dist/cjs/server/impls/fastify.cjs"],"names":[],"mappings":"AAAA,02BAA0B;AAC1B,iFAAwB;AACxB,iGAA4B;AAC5B,yFAA0B;AAC1B,qGAA6B;AAC7B,sGAA6B;AAC7B,yFAA0B;AAE1B,oFAAoB;AAEpB,gEAAe;AAEf,kDAAgC;AAChC,qDAAyB;AACzB,sDAAiC;AAEjC,8CAAwB;AACxB,wCAA+C;AAC/C,qCAAuB;AAEhB,MAAM,cAAA,QAAsB,gBAAqC;AAAA,EACvE,WAAA,CAAY,MAAA,EAAsB;AACjC,IAAA,MAAM,SAAA,EAAW,mBAAA,CAAS,GAAA,CAAI,CAAA;AAC9B,IAAA,MAAM,IAAA,EAAM,+BAAA;AAAQ,MACnB,qBAAA,EAAuB,CAAC,MAAA,CAAO,QAAA,CAAS,GAAA;AAAA,MACxC,cAAA,EAAgB,MAAA,CAAO,QAAA,CAAS,IAAA,EAAM,QAAA,CAAS,IAAA,EAAM,KAAA,CAAA;AAAA,MACrD,GAAA,EAAK,EAAE,aAAA,EAAe,EAAE,WAAA,EAAa,MAAM,EAAE,CAAA;AAAA,MAC7C,aAAA,EAAe;AAAA,QACd,mBAAA,EAAqB,IAAA;AAAA,QACrB,aAAA,EAAe;AAAA,MAChB,CAAA;AAAA,MACA,oBAAA,EAAsB,CAAC,MAAA,EAAQ,IAAA,EAAA,GAC9B,IAAI,8BAAA;AAAA,QACH,MAAA,CAAO,GAAA,CAAI,CAAC,KAAA,EAAA,GAAA,CAAW;AAAA,UACtB,QAAA,EAAU,kBAAC,KAAA,CAAM,OAAA,UAAW,IAAE,CAAA;AAAA,UAC9B,KAAA,EAAO,CAAA,EAAA;AACN,QAAA;AACH,MAAA;AACD,IAAA;AACS,IAAA;AACT,MAAA;AACS,QAAA;AAED,QAAA;AACE,UAAA;AACR,UAAA;AACA,UAAA;AACQ,UAAA;AACD,UAAA;AACM,UAAA;AACP,UAAA;AACN,UAAA;AACA,UAAA;AACA,QAAA;AACF,MAAA;AACA,MAAA;AACC,QAAA;AACU,QAAA;AACX,MAAA;AACA,MAAA;AACK,QAAA;AACE,UAAA;AACL,QAAA;AACF,MAAA;AACA,MAAA;AACK,QAAA;AACL,MAAA;AACA,MAAA;AACK,QAAA;AACL,MAAA;AACO,MAAA;AACI,QAAA;AACA,QAAA;AACD,QAAA;AACF,QAAA;AACR,MAAA;AACA,IAAA;AAEG,IAAA;AACA,IAAA;AACA,IAAA;AACO,IAAA;AACE,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACZ,MAAA;AACA,MAAA;AACU,MAAA;AACF,MAAA;AACD,QAAA;AACA,QAAA;AACG,UAAA;AACA,UAAA;AACF,UAAA;AACN,UAAA;AACM,UAAA;AACN,UAAA;AACD,QAAA;AAEU,QAAA;AACX,MAAA;AACA,IAAA;AAMU,IAAA;AACN,MAAA;AACE,QAAA;AACL,QAAA;AACA,QAAA;AACC,UAAA;AACA,UAAA;AACD,QAAA;AACA,MAAA;AACH,EAAA;AACD;AAES;AACG,EAAA;AACK,EAAA;AACA,EAAA;AACV,EAAA;AACA,EAAA;AACC,EAAA;AACU,IAAA;AAC8B,IAAA;AAC/C,EAAA;AACD;ACdkB;AACA;AACA","file":"/home/runner/work/equipped/equipped/dist/cjs/server/impls/fastify.cjs","sourcesContent":["import fastifyCookie from '@fastify/cookie'\nimport fastifyCors from '@fastify/cors'\nimport fastifyFormBody from '@fastify/formbody'\nimport fastifyHelmet from '@fastify/helmet'\nimport fastifyMultipart from '@fastify/multipart'\nimport fastifyRateLimit from '@fastify/rate-limit'\nimport fastifyStatic from '@fastify/static'\nimport type { FastifyReply, FastifyRequest } from 'fastify'\nimport Fastify from 'fastify'\n// import fastifySlowDown from 'fastify-slow-down'\nimport qs from 'qs'\n\nimport { ValidationError } from '../../errors'\nimport { Instance } from '../../instance'\nimport { getMediaDuration } from '../../utilities'\nimport type { ServerConfig } from '../pipes'\nimport { Request } from '../requests'\nimport { type IncomingFile, StatusCodes } from '../types'\nimport { Server } from './base'\n\nexport class FastifyServer extends Server<FastifyRequest, FastifyReply> {\n\tconstructor(config: ServerConfig) {\n\t\tconst instance = Instance.get()\n\t\tconst app = Fastify({\n\t\t\tdisableRequestLogging: !config.requests.log,\n\t\t\tloggerInstance: config.requests.log ? instance.log : undefined,\n\t\t\tajv: { customOptions: { coerceTypes: false } },\n\t\t\trouterOptions: {\n\t\t\t\tignoreTrailingSlash: true,\n\t\t\t\tcaseSensitive: false,\n\t\t\t},\n\t\t\tschemaErrorFormatter: (errors, data) =>\n\t\t\t\tnew ValidationError(\n\t\t\t\t\terrors.map((error) => ({\n\t\t\t\t\t\tmessages: [error.message ?? ''],\n\t\t\t\t\t\tfield: `${data}${error.instancePath}`.replaceAll('/', '.'),\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t})\n\t\tsuper(app.server, config, {\n\t\t\tparseRequest: async (req) => {\n\t\t\t\tconst { body, files } = excludeBufferKeys(req.body ?? {})\n\n\t\t\t\treturn new Request({\n\t\t\t\t\tip: req.ip,\n\t\t\t\t\tbody,\n\t\t\t\t\tcookies: req.cookies ?? {},\n\t\t\t\t\tparams: req.params ?? <any>{},\n\t\t\t\t\tquery: req.query ?? {},\n\t\t\t\t\tmethod: <any>req.method,\n\t\t\t\t\tpath: req.url,\n\t\t\t\t\theaders: req.headers,\n\t\t\t\t\tfiles,\n\t\t\t\t})\n\t\t\t},\n\t\t\thandleResponse: async (res, response) => {\n\t\t\t\tfor (const [key, { value, ...opts }] of Object.entries(response.cookies)) res = res.setCookie(key, value, opts)\n\t\t\t\tawait res.status(response.status).headers(response.headers).send(response.body)\n\t\t\t},\n\t\t\tregisterRoute: (method, path, cb) => {\n\t\t\t\tapp.register(async (inst) => {\n\t\t\t\t\tinst.route({ url: path, method, handler: cb })\n\t\t\t\t})\n\t\t\t},\n\t\t\tregisterErrorHandler: (cb) => {\n\t\t\t\tapp.setErrorHandler(cb)\n\t\t\t},\n\t\t\tregisterNotFoundHandler: (cb) => {\n\t\t\t\tapp.setNotFoundHandler(cb)\n\t\t\t},\n\t\t\tstart: async (port) => {\n\t\t\t\tawait app.ready()\n\t\t\t\tawait app.listen({ port, host: '0.0.0.0' })\n\t\t\t\tInstance.on('close', app.close, 1)\n\t\t\t\treturn true\n\t\t\t},\n\t\t})\n\n\t\tapp.decorateRequest('savedReq', null)\n\t\tapp.setValidatorCompiler(() => () => true)\n\t\tapp.setSerializerCompiler(() => (data) => JSON.stringify(data))\n\t\tif (config.publicPath) app.register(fastifyStatic, { root: config.publicPath })\n\t\tapp.register(fastifyCookie, {})\n\t\tapp.register(fastifyCors, this.cors)\n\t\tapp.register(fastifyFormBody, { parser: (str) => qs.parse(str) })\n\t\tapp.register(fastifyHelmet, { crossOriginResourcePolicy: { policy: 'cross-origin' }, contentSecurityPolicy: false })\n\t\tapp.register(fastifyMultipart, {\n\t\t\tattachFieldsToBody: 'keyValues',\n\t\t\tthrowFileSizeLimit: false,\n\t\t\tlimits: { fileSize: instance.settings.utils.maxFileUploadSizeInMb * 1024 * 1024 },\n\t\t\tonFile: async (f) => {\n\t\t\t\tconst buffer = await f.toBuffer()\n\t\t\t\tconst parsed: IncomingFile = {\n\t\t\t\t\tname: f.filename,\n\t\t\t\t\ttype: f.mimetype,\n\t\t\t\t\tsize: buffer.byteLength,\n\t\t\t\t\tisTruncated: f.file.truncated,\n\t\t\t\t\tdata: buffer,\n\t\t\t\t\tduration: await getMediaDuration(buffer),\n\t\t\t\t}\n\t\t\t\t// @ts-ignore\n\t\t\t\tf.value = parsed\n\t\t\t},\n\t\t})\n\t\t/* if (this.settings.slowdown.enabled) app.register(fastifySlowDown, {\n\t\t\ttimeWindow: this.settings.slowdown.periodInMs,\n\t\t\tdelayAfter: this.settings.slowdown.delayAfter,\n\t\t\tdelay: this.settings.slowdown.delayInMs\n\t\t}) */\n\t\tif (config.requests.rateLimit.enabled)\n\t\t\tapp.register(fastifyRateLimit, {\n\t\t\t\tmax: config.requests.rateLimit.limit,\n\t\t\t\ttimeWindow: config.requests.rateLimit.periodInMs,\n\t\t\t\terrorResponseBuilder: (_, context) => ({\n\t\t\t\t\tstatusCode: StatusCodes.TooManyRequests,\n\t\t\t\t\tmessage: JSON.stringify([{ message: `Too Many Requests. Retry in ${context.after}` }]),\n\t\t\t\t}),\n\t\t\t})\n\t}\n}\n\nfunction excludeBufferKeys<T>(body: T) {\n\tif (typeof body !== 'object') return { body, files: {} }\n\tconst entries = Object.entries(body ?? {})\n\tconst isFile = (val: any) => (Array.isArray(val) ? isFile(val.at(0)) : Buffer.isBuffer(val?.data))\n\tconst fileEntries = entries.filter(([_, value]) => isFile(value)).map(([key, value]) => [key, Array.isArray(value) ? value : [value]])\n\tconst nonFileEntries = entries.filter(([_, value]) => !isFile(value))\n\treturn {\n\t\tbody: <T>Object.fromEntries(nonFileEntries),\n\t\tfiles: <Record<string, IncomingFile[]>>Object.fromEntries(fileEntries),\n\t}\n}\n",null]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _cookie = require('@fastify/cookie'); var _cookie2 = _interopRequireDefault(_cookie);var _cors = require('@fastify/cors'); var _cors2 = _interopRequireDefault(_cors);var _formbody = require('@fastify/formbody'); var _formbody2 = _interopRequireDefault(_formbody);var _helmet = require('@fastify/helmet'); var _helmet2 = _interopRequireDefault(_helmet);var _multipart = require('@fastify/multipart'); var _multipart2 = _interopRequireDefault(_multipart);var _ratelimit = require('@fastify/rate-limit'); var _ratelimit2 = _interopRequireDefault(_ratelimit);var _static = require('@fastify/static'); var _static2 = _interopRequireDefault(_static);var _fastify = require('fastify'); var _fastify2 = _interopRequireDefault(_fastify);var _qs = require('qs'); var _qs2 = _interopRequireDefault(_qs);var _indexmincjs = require('../../errors/index.min.cjs');var _indexmincjs3 = require('../../instance/index.min.cjs');var _indexmincjs5 = require('../../utilities/index.min.cjs');var _requestsmincjs = require('../requests.min.cjs');var _typesmincjs = require('../types.min.cjs');var _basemincjs = require('./base.min.cjs');class
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _cookie = require('@fastify/cookie'); var _cookie2 = _interopRequireDefault(_cookie);var _cors = require('@fastify/cors'); var _cors2 = _interopRequireDefault(_cors);var _formbody = require('@fastify/formbody'); var _formbody2 = _interopRequireDefault(_formbody);var _helmet = require('@fastify/helmet'); var _helmet2 = _interopRequireDefault(_helmet);var _multipart = require('@fastify/multipart'); var _multipart2 = _interopRequireDefault(_multipart);var _ratelimit = require('@fastify/rate-limit'); var _ratelimit2 = _interopRequireDefault(_ratelimit);var _static = require('@fastify/static'); var _static2 = _interopRequireDefault(_static);var _fastify = require('fastify'); var _fastify2 = _interopRequireDefault(_fastify);var _qs = require('qs'); var _qs2 = _interopRequireDefault(_qs);var _indexmincjs = require('../../errors/index.min.cjs');var _indexmincjs3 = require('../../instance/index.min.cjs');var _indexmincjs5 = require('../../utilities/index.min.cjs');var _requestsmincjs = require('../requests.min.cjs');var _typesmincjs = require('../types.min.cjs');var _basemincjs = require('./base.min.cjs');class N extends _basemincjs.Server{constructor(i){const o=_indexmincjs3.Instance.get(),r=_fastify2.default.call(void 0, {disableRequestLogging:!i.requests.log,loggerInstance:i.requests.log?o.log:void 0,ajv:{customOptions:{coerceTypes:!1}},routerOptions:{ignoreTrailingSlash:!0,caseSensitive:!1},schemaErrorFormatter:(e,t)=>new (0, _indexmincjs.ValidationError)(e.map(s=>({messages:[_nullishCoalesce(s.message, () => (""))],field:`${t}${s.instancePath}`.replaceAll("/",".")})))});super(r.server,i,{parseRequest:async e=>{const{body:t,files:s}=C(_nullishCoalesce(e.body, () => ({})));return new (0, _requestsmincjs.Request)({ip:e.ip,body:t,cookies:_nullishCoalesce(e.cookies, () => ({})),params:_nullishCoalesce(e.params, () => ({})),query:_nullishCoalesce(e.query, () => ({})),method:e.method,path:e.url,headers:e.headers,files:s})},handleResponse:async(e,t)=>{for(const[s,{value:n,...f}]of Object.entries(t.cookies))e=e.setCookie(s,n,f);await e.status(t.status).headers(t.headers).send(t.body)},registerRoute:(e,t,s)=>{r.register(async n=>{n.route({url:t,method:e,handler:s})})},registerErrorHandler:e=>{r.setErrorHandler(e)},registerNotFoundHandler:e=>{r.setNotFoundHandler(e)},start:async e=>(await r.ready(),await r.listen({port:e,host:"0.0.0.0"}),_indexmincjs3.Instance.on("close",r.close,1),!0)}),r.decorateRequest("savedReq",null),r.setValidatorCompiler(()=>()=>!0),r.setSerializerCompiler(()=>e=>JSON.stringify(e)),i.publicPath&&r.register(_static2.default,{root:i.publicPath}),r.register(_cookie2.default,{}),r.register(_cors2.default,this.cors),r.register(_formbody2.default,{parser:e=>_qs2.default.parse(e)}),r.register(_helmet2.default,{crossOriginResourcePolicy:{policy:"cross-origin"},contentSecurityPolicy:!1}),r.register(_multipart2.default,{attachFieldsToBody:"keyValues",throwFileSizeLimit:!1,limits:{fileSize:o.settings.utils.maxFileUploadSizeInMb*1024*1024},onFile:async e=>{const t=await e.toBuffer(),s={name:e.filename,type:e.mimetype,size:t.byteLength,isTruncated:e.file.truncated,data:t,duration:await _indexmincjs5.getMediaDuration.call(void 0, t)};e.value=s}}),i.requests.rateLimit.enabled&&r.register(_ratelimit2.default,{max:i.requests.rateLimit.limit,timeWindow:i.requests.rateLimit.periodInMs,errorResponseBuilder:(e,t)=>({statusCode:_typesmincjs.StatusCodes.TooManyRequests,message:JSON.stringify([{message:`Too Many Requests. Retry in ${t.after}`}])})})}}function C(a){if(typeof a!="object")return{body:a,files:{}};const i=Object.entries(_nullishCoalesce(a, () => ({}))),o=t=>Array.isArray(t)?o(t.at(0)):Buffer.isBuffer(_optionalChain([t, 'optionalAccess', _ => _.data])),r=i.filter(([t,s])=>o(s)).map(([t,s])=>[t,Array.isArray(s)?s:[s]]),e=i.filter(([t,s])=>!o(s));return{body:Object.fromEntries(e),files:Object.fromEntries(r)}}exports.FastifyServer = N;
|
|
2
2
|
//# sourceMappingURL=fastify.min.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/impls/fastify.ts"],"names":["getMediaDuration","config","instance"],"mappings":"AAAA,02BAA0B,iFACF,iGACI,yFACF,qGACG,sGACA,yFACH,oFAEN,gEAEL,yDAGN,4DACAA,6DAGT,qDACS,+CAGIC,4CAGV,MAAwBA,EAAO,QAAS,kBAAA,CAAA,WACxC,CAAA,CAAA,CAAA,CAAA,MAAuB,CAAA,CAAA,sBAAA,CAAA,GAAS,CAAA,CAAA,CAAA,CAAMC,CAAAA,+BAAS,CAAA,qBACxC,CAAA,CAAA,CAAA,CAAA,QAAiB,CAAA,GAAA,CAAA,cACxB,CAAA,CAAA,CAAA,QACC,CAAA,GAAA,CAAA,CAAA,CAAA,GAAA,CAAA,KAAA,CAAA,CAAqB,GACrB,CAAA,CAAA,aAAe,CAChB,CAAA,WACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,aACC,CAAA,CAAA,mBAEE,CAAA,CAAA,CAAA,CAAU,aAAkB,CAAE,CAAA,CAC9B,CAAA,CAAA,oBAAuB,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,EAAG,IAAA,iCAAA,CAAA,CAAA,CAAA,GAAW,CAAA,CAAA,EAAK,CAAA,CAAA,QAGzD,CACD,kBAAA,CAAA,CAAA,OAAU,SAAA,IAAA,CAAQD,CAAAA,KACjB,CAAA,CAAA,EAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/server/impls/fastify.min.cjs","sourcesContent":["import fastifyCookie from '@fastify/cookie'\nimport fastifyCors from '@fastify/cors'\nimport fastifyFormBody from '@fastify/formbody'\nimport fastifyHelmet from '@fastify/helmet'\nimport fastifyMultipart from '@fastify/multipart'\nimport fastifyRateLimit from '@fastify/rate-limit'\nimport fastifyStatic from '@fastify/static'\nimport type { FastifyReply, FastifyRequest } from 'fastify'\nimport Fastify from 'fastify'\n// import fastifySlowDown from 'fastify-slow-down'\nimport qs from 'qs'\n\nimport { ValidationError } from '../../errors'\nimport { Instance } from '../../instance'\nimport { getMediaDuration } from '../../utilities'\nimport type { ServerConfig } from '../pipes'\nimport { Request } from '../requests'\nimport { type IncomingFile, StatusCodes } from '../types'\nimport { Server } from './base'\n\nexport class FastifyServer extends Server<FastifyRequest, FastifyReply> {\n\tconstructor(config: ServerConfig) {\n\t\tconst instance = Instance.get()\n\t\tconst app = Fastify({\n\t\t\tdisableRequestLogging: !config.requests.log,\n\t\t\tloggerInstance: config.requests.log ? instance.log : undefined,\n\t\t\tajv: { customOptions: { coerceTypes: false } },\n\t\t\trouterOptions: {\n\t\t\t\tignoreTrailingSlash: true,\n\t\t\t\tcaseSensitive: false,\n\t\t\t},\n\t\t\tschemaErrorFormatter: (errors, data) =>\n\t\t\t\tnew ValidationError(\n\t\t\t\t\terrors.map((error) => ({\n\t\t\t\t\t\tmessages: [error.message ?? ''],\n\t\t\t\t\t\tfield: `${data}${error.instancePath}`.replaceAll('/', '.'),\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t})\n\t\tsuper(app.server, config, {\n\t\t\tparseRequest: async (req) => {\n\t\t\t\tconst
|
|
1
|
+
{"version":3,"sources":["../../../../src/server/impls/fastify.ts"],"names":["getMediaDuration","config","instance"],"mappings":"AAAA,02BAA0B,iFACF,iGACI,yFACF,qGACG,sGACA,yFACH,oFAEN,gEAEL,yDAGN,4DACAA,6DAGT,qDACS,+CAGIC,4CAGV,MAAwBA,EAAO,QAAS,kBAAA,CAAA,WACxC,CAAA,CAAA,CAAA,CAAA,MAAuB,CAAA,CAAA,sBAAA,CAAA,GAAS,CAAA,CAAA,CAAA,CAAMC,CAAAA,+BAAS,CAAA,qBACxC,CAAA,CAAA,CAAA,CAAA,QAAiB,CAAA,GAAA,CAAA,cACxB,CAAA,CAAA,CAAA,QACC,CAAA,GAAA,CAAA,CAAA,CAAA,GAAA,CAAA,KAAA,CAAA,CAAqB,GACrB,CAAA,CAAA,aAAe,CAChB,CAAA,WACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,aACC,CAAA,CAAA,mBAEE,CAAA,CAAA,CAAA,CAAU,aAAkB,CAAE,CAAA,CAC9B,CAAA,CAAA,oBAAuB,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,EAAG,IAAA,iCAAA,CAAA,CAAA,CAAA,GAAW,CAAA,CAAA,EAAK,CAAA,CAAA,QAGzD,CACD,kBAAA,CAAA,CAAA,OAAU,SAAA,IAAA,CAAQD,CAAAA,KACjB,CAAA,CAAA,EAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/server/impls/fastify.min.cjs","sourcesContent":["import fastifyCookie from '@fastify/cookie'\nimport fastifyCors from '@fastify/cors'\nimport fastifyFormBody from '@fastify/formbody'\nimport fastifyHelmet from '@fastify/helmet'\nimport fastifyMultipart from '@fastify/multipart'\nimport fastifyRateLimit from '@fastify/rate-limit'\nimport fastifyStatic from '@fastify/static'\nimport type { FastifyReply, FastifyRequest } from 'fastify'\nimport Fastify from 'fastify'\n// import fastifySlowDown from 'fastify-slow-down'\nimport qs from 'qs'\n\nimport { ValidationError } from '../../errors'\nimport { Instance } from '../../instance'\nimport { getMediaDuration } from '../../utilities'\nimport type { ServerConfig } from '../pipes'\nimport { Request } from '../requests'\nimport { type IncomingFile, StatusCodes } from '../types'\nimport { Server } from './base'\n\nexport class FastifyServer extends Server<FastifyRequest, FastifyReply> {\n\tconstructor(config: ServerConfig) {\n\t\tconst instance = Instance.get()\n\t\tconst app = Fastify({\n\t\t\tdisableRequestLogging: !config.requests.log,\n\t\t\tloggerInstance: config.requests.log ? instance.log : undefined,\n\t\t\tajv: { customOptions: { coerceTypes: false } },\n\t\t\trouterOptions: {\n\t\t\t\tignoreTrailingSlash: true,\n\t\t\t\tcaseSensitive: false,\n\t\t\t},\n\t\t\tschemaErrorFormatter: (errors, data) =>\n\t\t\t\tnew ValidationError(\n\t\t\t\t\terrors.map((error) => ({\n\t\t\t\t\t\tmessages: [error.message ?? ''],\n\t\t\t\t\t\tfield: `${data}${error.instancePath}`.replaceAll('/', '.'),\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t})\n\t\tsuper(app.server, config, {\n\t\t\tparseRequest: async (req) => {\n\t\t\t\tconst { body, files } = excludeBufferKeys(req.body ?? {})\n\n\t\t\t\treturn new Request({\n\t\t\t\t\tip: req.ip,\n\t\t\t\t\tbody,\n\t\t\t\t\tcookies: req.cookies ?? {},\n\t\t\t\t\tparams: req.params ?? <any>{},\n\t\t\t\t\tquery: req.query ?? {},\n\t\t\t\t\tmethod: <any>req.method,\n\t\t\t\t\tpath: req.url,\n\t\t\t\t\theaders: req.headers,\n\t\t\t\t\tfiles,\n\t\t\t\t})\n\t\t\t},\n\t\t\thandleResponse: async (res, response) => {\n\t\t\t\tfor (const [key, { value, ...opts }] of Object.entries(response.cookies)) res = res.setCookie(key, value, opts)\n\t\t\t\tawait res.status(response.status).headers(response.headers).send(response.body)\n\t\t\t},\n\t\t\tregisterRoute: (method, path, cb) => {\n\t\t\t\tapp.register(async (inst) => {\n\t\t\t\t\tinst.route({ url: path, method, handler: cb })\n\t\t\t\t})\n\t\t\t},\n\t\t\tregisterErrorHandler: (cb) => {\n\t\t\t\tapp.setErrorHandler(cb)\n\t\t\t},\n\t\t\tregisterNotFoundHandler: (cb) => {\n\t\t\t\tapp.setNotFoundHandler(cb)\n\t\t\t},\n\t\t\tstart: async (port) => {\n\t\t\t\tawait app.ready()\n\t\t\t\tawait app.listen({ port, host: '0.0.0.0' })\n\t\t\t\tInstance.on('close', app.close, 1)\n\t\t\t\treturn true\n\t\t\t},\n\t\t})\n\n\t\tapp.decorateRequest('savedReq', null)\n\t\tapp.setValidatorCompiler(() => () => true)\n\t\tapp.setSerializerCompiler(() => (data) => JSON.stringify(data))\n\t\tif (config.publicPath) app.register(fastifyStatic, { root: config.publicPath })\n\t\tapp.register(fastifyCookie, {})\n\t\tapp.register(fastifyCors, this.cors)\n\t\tapp.register(fastifyFormBody, { parser: (str) => qs.parse(str) })\n\t\tapp.register(fastifyHelmet, { crossOriginResourcePolicy: { policy: 'cross-origin' }, contentSecurityPolicy: false })\n\t\tapp.register(fastifyMultipart, {\n\t\t\tattachFieldsToBody: 'keyValues',\n\t\t\tthrowFileSizeLimit: false,\n\t\t\tlimits: { fileSize: instance.settings.utils.maxFileUploadSizeInMb * 1024 * 1024 },\n\t\t\tonFile: async (f) => {\n\t\t\t\tconst buffer = await f.toBuffer()\n\t\t\t\tconst parsed: IncomingFile = {\n\t\t\t\t\tname: f.filename,\n\t\t\t\t\ttype: f.mimetype,\n\t\t\t\t\tsize: buffer.byteLength,\n\t\t\t\t\tisTruncated: f.file.truncated,\n\t\t\t\t\tdata: buffer,\n\t\t\t\t\tduration: await getMediaDuration(buffer),\n\t\t\t\t}\n\t\t\t\t// @ts-ignore\n\t\t\t\tf.value = parsed\n\t\t\t},\n\t\t})\n\t\t/* if (this.settings.slowdown.enabled) app.register(fastifySlowDown, {\n\t\t\ttimeWindow: this.settings.slowdown.periodInMs,\n\t\t\tdelayAfter: this.settings.slowdown.delayAfter,\n\t\t\tdelay: this.settings.slowdown.delayInMs\n\t\t}) */\n\t\tif (config.requests.rateLimit.enabled)\n\t\t\tapp.register(fastifyRateLimit, {\n\t\t\t\tmax: config.requests.rateLimit.limit,\n\t\t\t\ttimeWindow: config.requests.rateLimit.periodInMs,\n\t\t\t\terrorResponseBuilder: (_, context) => ({\n\t\t\t\t\tstatusCode: StatusCodes.TooManyRequests,\n\t\t\t\t\tmessage: JSON.stringify([{ message: `Too Many Requests. Retry in ${context.after}` }]),\n\t\t\t\t}),\n\t\t\t})\n\t}\n}\n\nfunction excludeBufferKeys<T>(body: T) {\n\tif (typeof body !== 'object') return { body, files: {} }\n\tconst entries = Object.entries(body ?? {})\n\tconst isFile = (val: any) => (Array.isArray(val) ? isFile(val.at(0)) : Buffer.isBuffer(val?.data))\n\tconst fileEntries = entries.filter(([_, value]) => isFile(value)).map(([key, value]) => [key, Array.isArray(value) ? value : [value]])\n\tconst nonFileEntries = entries.filter(([_, value]) => !isFile(value))\n\treturn {\n\t\tbody: <T>Object.fromEntries(nonFileEntries),\n\t\tfiles: <Record<string, IncomingFile[]>>Object.fromEntries(fileEntries),\n\t}\n}\n"]}
|
|
@@ -4,7 +4,7 @@ var _fastifycjs = require('./impls/fastify.cjs'); _createStarExport(_fastifycjs)
|
|
|
4
4
|
var _indexcjs = require('./middlewares/index.cjs'); _createStarExport(_indexcjs);
|
|
5
5
|
var _pipescjs = require('./pipes.cjs'); _createStarExport(_pipescjs);
|
|
6
6
|
var _requestscjs = require('./requests.cjs'); _createStarExport(_requestscjs);
|
|
7
|
-
var _indexcjs3 = require('./requests-auth/index.cjs'); _createStarExport(_indexcjs3);
|
|
7
|
+
var _indexcjs3 = require('./requests-auth-methods/index.cjs'); _createStarExport(_indexcjs3);
|
|
8
8
|
var _routescjs = require('./routes.cjs'); _createStarExport(_routescjs);
|
|
9
9
|
var _typescjs = require('./types.cjs'); _createStarExport(_typescjs);
|
|
10
10
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,yaAAc;AACd,iFAAc;AACd,iFAAc;AACd,iFAAc;AACd,qEAAc;AACd,8EAAc;AACd,
|
|
1
|
+
{"version":3,"sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,yaAAc;AACd,iFAAc;AACd,iFAAc;AACd,iFAAc;AACd,qEAAc;AACd,8EAAc;AACd,6FAAc;AACd,wEAAc;AAEd,qEAAc","file":"/home/runner/work/equipped/equipped/dist/cjs/server/index.cjs","sourcesContent":["export * from './impls/base'\nexport * from './impls/express'\nexport * from './impls/fastify'\nexport * from './middlewares'\nexport * from './pipes'\nexport * from './requests'\nexport * from './requests-auth-methods'\nexport * from './routes'\nexport type * from './sockets'\nexport * from './types'\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); }var _basemincjs = require('./impls/base.min.cjs'); _createStarExport(_basemincjs);var _expressmincjs = require('./impls/express.min.cjs'); _createStarExport(_expressmincjs);var _fastifymincjs = require('./impls/fastify.min.cjs'); _createStarExport(_fastifymincjs);var _indexmincjs = require('./middlewares/index.min.cjs'); _createStarExport(_indexmincjs);var _pipesmincjs = require('./pipes.min.cjs'); _createStarExport(_pipesmincjs);var _requestsmincjs = require('./requests.min.cjs'); _createStarExport(_requestsmincjs);var _indexmincjs3 = require('./requests-auth/index.min.cjs'); _createStarExport(_indexmincjs3);var _routesmincjs = require('./routes.min.cjs'); _createStarExport(_routesmincjs);var _typesmincjs = require('./types.min.cjs'); _createStarExport(_typesmincjs);
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); }var _basemincjs = require('./impls/base.min.cjs'); _createStarExport(_basemincjs);var _expressmincjs = require('./impls/express.min.cjs'); _createStarExport(_expressmincjs);var _fastifymincjs = require('./impls/fastify.min.cjs'); _createStarExport(_fastifymincjs);var _indexmincjs = require('./middlewares/index.min.cjs'); _createStarExport(_indexmincjs);var _pipesmincjs = require('./pipes.min.cjs'); _createStarExport(_pipesmincjs);var _requestsmincjs = require('./requests.min.cjs'); _createStarExport(_requestsmincjs);var _indexmincjs3 = require('./requests-auth-methods/index.min.cjs'); _createStarExport(_indexmincjs3);var _routesmincjs = require('./routes.min.cjs'); _createStarExport(_routesmincjs);var _typesmincjs = require('./types.min.cjs'); _createStarExport(_typesmincjs);
|
|
2
2
|
//# sourceMappingURL=index.min.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,mbACA,2FACc,2FACA,2FAEA,+EACA,wFAGd
|
|
1
|
+
{"version":3,"sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,mbACA,2FACc,2FACA,2FAEA,+EACA,wFAGd,uGAAc,kFAAA,+EAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/server/index.min.cjs","sourcesContent":["export * from './impls/base'\nexport * from './impls/express'\nexport * from './impls/fastify'\nexport * from './middlewares'\nexport * from './pipes'\nexport * from './requests'\nexport * from './requests-auth-methods'\nexport * from './routes'\nexport type * from './sockets'\nexport * from './types'\n"]}
|
|
@@ -1,65 +1,22 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _indexcjs = require('../../errors/index.cjs');
|
|
2
|
+
var _indexcjs3 = require('../requests-auth-methods/index.cjs');
|
|
2
3
|
var _typescjs = require('../types.cjs');
|
|
3
|
-
const requireAuthUser = _typescjs.makeMiddleware.call(void 0,
|
|
4
|
+
const requireAuthUser = (methods) => _typescjs.makeMiddleware.call(void 0,
|
|
4
5
|
async (request) => {
|
|
5
|
-
|
|
6
|
-
const error = request.users.access.error || request.users.apiKey.error;
|
|
7
|
-
if (!user && error) throw error;
|
|
8
|
-
request.authUser = user;
|
|
6
|
+
request.authUser = await _indexcjs3.BaseRequestAuthMethod.process(methods, request.headers);
|
|
9
7
|
if (!request.authUser) throw new (0, _indexcjs.NotAuthenticatedError)();
|
|
10
8
|
},
|
|
11
9
|
(route) => {
|
|
12
10
|
route.security ??= [];
|
|
13
|
-
|
|
11
|
+
for (const method of methods) {
|
|
12
|
+
const schemeName = method.routeSecuritySchemeName();
|
|
13
|
+
if (schemeName) route.security.push({ [schemeName]: [] });
|
|
14
|
+
}
|
|
14
15
|
route.descriptions ??= [];
|
|
15
16
|
route.descriptions.push("Requires a valid means of authentication.");
|
|
16
17
|
}
|
|
17
18
|
);
|
|
18
|
-
const requireAuthorizationUser = _typescjs.makeMiddleware.call(void 0,
|
|
19
|
-
async (request) => {
|
|
20
|
-
if (request.users.access.error) throw request.users.access.error;
|
|
21
|
-
request.authUser = request.users.access.value;
|
|
22
|
-
if (!request.authUser) throw new (0, _indexcjs.NotAuthenticatedError)();
|
|
23
|
-
},
|
|
24
|
-
(route) => {
|
|
25
|
-
route.security ??= [];
|
|
26
|
-
route.security.push({ Authorization: [] });
|
|
27
|
-
route.descriptions ??= [];
|
|
28
|
-
route.descriptions.push("Requires a valid authorization header.");
|
|
29
|
-
}
|
|
30
|
-
);
|
|
31
|
-
const requireApiKeyUser = _typescjs.makeMiddleware.call(void 0,
|
|
32
|
-
async (request) => {
|
|
33
|
-
if (request.users.apiKey.error) throw request.users.apiKey.error;
|
|
34
|
-
request.authUser = request.users.apiKey.value;
|
|
35
|
-
if (!request.authUser) throw new (0, _indexcjs.NotAuthenticatedError)();
|
|
36
|
-
},
|
|
37
|
-
(route) => {
|
|
38
|
-
route.security ??= [];
|
|
39
|
-
route.security.push({ ApiKey: [] });
|
|
40
|
-
route.descriptions ??= [];
|
|
41
|
-
route.descriptions.push("Requires a valid x-api-key header.");
|
|
42
|
-
}
|
|
43
|
-
);
|
|
44
|
-
const requireRefreshTokenUser = _typescjs.makeMiddleware.call(void 0,
|
|
45
|
-
async (request, config) => {
|
|
46
|
-
if (request.users.refresh.error) throw request.users.refresh.error;
|
|
47
|
-
const refreshToken = request.headers.RefreshToken;
|
|
48
|
-
if (!refreshToken) throw new (0, _indexcjs.NotAuthorizedError)("x-refresh-token header missing");
|
|
49
|
-
request.users.refresh.value = await _optionalChain([config, 'optionalAccess', _ => _.requestsAuth, 'access', _2 => _2.tokens, 'optionalAccess', _3 => _3.verifyRefreshToken, 'call', _4 => _4(refreshToken)]);
|
|
50
|
-
if (!request.users.refresh.value) throw new (0, _indexcjs.NotAuthorizedError)();
|
|
51
|
-
},
|
|
52
|
-
(route) => {
|
|
53
|
-
route.security ??= [];
|
|
54
|
-
route.security.push({ RefreshToken: [] });
|
|
55
|
-
route.descriptions ??= [];
|
|
56
|
-
route.descriptions.push("Requires a valid x-refresh-token header.");
|
|
57
|
-
}
|
|
58
|
-
);
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
19
|
|
|
63
20
|
|
|
64
|
-
exports.
|
|
21
|
+
exports.requireAuthUser = requireAuthUser;
|
|
65
22
|
//# sourceMappingURL=requireAuthUser.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/middlewares/requireAuthUser.ts","/home/runner/work/equipped/equipped/dist/cjs/server/middlewares/requireAuthUser.cjs"],"names":[],"mappings":"AAAA,+
|
|
1
|
+
{"version":3,"sources":["../../../../src/server/middlewares/requireAuthUser.ts","/home/runner/work/equipped/equipped/dist/cjs/server/middlewares/requireAuthUser.cjs"],"names":[],"mappings":"AAAA,2HAAsC;AAEtC,+DAAsC;AACtC,wCAA+B;AAExB,MAAM,gBAAA,EAAkB,CAAC,OAAA,EAAA,GAC/B,sCAAA;AAAA,EACC,MAAA,CAAO,OAAA,EAAA,GAAY;AAClB,IAAA,OAAA,CAAQ,SAAA,EAAW,MAAM,gCAAA,CAAsB,OAAA,CAAQ,OAAA,EAAS,OAAA,CAAQ,OAAO,CAAA;AAC/E,IAAA,GAAA,CAAI,CAAC,OAAA,CAAQ,QAAA,EAAU,MAAM,IAAI,oCAAA,CAAsB,CAAA;AAAA,EACxD,CAAA;AAAA,EACA,CAAC,KAAA,EAAA,GAAU;AACV,IAAA,KAAA,CAAM,SAAA,IAAa,CAAC,CAAA;AACpB,IAAA,IAAA,CAAA,MAAW,OAAA,GAAU,OAAA,EAAS;AAC7B,MAAA,MAAM,WAAA,EAAa,MAAA,CAAO,uBAAA,CAAwB,CAAA;AAClD,MAAA,GAAA,CAAI,UAAA,EAAY,KAAA,CAAM,QAAA,CAAS,IAAA,CAAK,EAAE,CAAC,UAAU,CAAA,EAAG,CAAC,EAAE,CAAC,CAAA;AAAA,IACzD;AAEA,IAAA,KAAA,CAAM,aAAA,IAAiB,CAAC,CAAA;AACxB,IAAA,KAAA,CAAM,YAAA,CAAa,IAAA,CAAK,2CAA2C,CAAA;AAAA,EACpE;AACD,CAAA;ACHD;AACE;AACF,0CAAC","file":"/home/runner/work/equipped/equipped/dist/cjs/server/middlewares/requireAuthUser.cjs","sourcesContent":["import { NotAuthenticatedError } from '../../errors'\nimport type { AuthUser } from '../../types'\nimport { BaseRequestAuthMethod } from '../requests-auth-methods'\nimport { makeMiddleware } from '../types'\n\nexport const requireAuthUser = (methods: BaseRequestAuthMethod<AuthUser>[]) =>\n\tmakeMiddleware(\n\t\tasync (request) => {\n\t\t\trequest.authUser = await BaseRequestAuthMethod.process(methods, request.headers)\n\t\t\tif (!request.authUser) throw new NotAuthenticatedError()\n\t\t},\n\t\t(route) => {\n\t\t\troute.security ??= []\n\t\t\tfor (const method of methods) {\n\t\t\t\tconst schemeName = method.routeSecuritySchemeName()\n\t\t\t\tif (schemeName) route.security.push({ [schemeName]: [] })\n\t\t\t}\n\n\t\t\troute.descriptions ??= []\n\t\t\troute.descriptions.push('Requires a valid means of authentication.')\n\t\t},\n\t)\n",null]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _indexmincjs = require('../../errors/index.min.cjs');var _indexmincjs3 = require('../requests-auth-methods/index.min.cjs');var _typesmincjs = require('../types.min.cjs');const u=t=>_typesmincjs.makeMiddleware.call(void 0, async e=>{if(e.authUser=await _indexmincjs3.BaseRequestAuthMethod.process(t,e.headers),!e.authUser)throw new _indexmincjs.NotAuthenticatedError},e=>{e.security??=[];for(const s of t){const r=s.routeSecuritySchemeName();r&&e.security.push({[r]:[]})}e.descriptions??=[],e.descriptions.push("Requires a valid means of authentication.")});exports.requireAuthUser = u;
|
|
2
2
|
//# sourceMappingURL=requireAuthUser.min.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/middlewares/requireAuthUser.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../src/server/middlewares/requireAuthUser.ts"],"names":["makeMiddleware","request","route","method","methods","schemeName"],"mappings":"AAAA,kIAES,sEACAA,+CAKa,MAA4B,CAAA,CAAA,CAAA,EAAA,yCAAA,MAAyB,CAAA,EAAA,CAAA,EAAO,CAAA,CAC3E,CAACC,QAAQ,CAAA,MAAU,mCAAA,CAAM,OAE7BC,CAAAA,CAAAA,CAAU,CACVA,CAAAA,OAAM,CAAA,CAAA,CAAA,CAAA,CAAa,QACnB,CAAA,MAAWC,IAAUC,kCAAS,CAC7B,CAAA,CAAA,EAAA,CAAA,CAAMC,CAAAA,QAAoB,GAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,EAAA,GACtBA,CAAAA,CAAAA,CAAYH,MAAM,CAAA,CAAA,CAAA,CAAA,uBAGjB,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,QACA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,YAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,YAAA,CAAA,IAAA,CAAA,2CAE1B,CAAA,CAAA,CAAA,CAAA,4BAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/server/middlewares/requireAuthUser.min.cjs","sourcesContent":["import { NotAuthenticatedError } from '../../errors'\nimport type { AuthUser } from '../../types'\nimport { BaseRequestAuthMethod } from '../requests-auth-methods'\nimport { makeMiddleware } from '../types'\n\nexport const requireAuthUser = (methods: BaseRequestAuthMethod<AuthUser>[]) =>\n\tmakeMiddleware(\n\t\tasync (request) => {\n\t\t\trequest.authUser = await BaseRequestAuthMethod.process(methods, request.headers)\n\t\t\tif (!request.authUser) throw new NotAuthenticatedError()\n\t\t},\n\t\t(route) => {\n\t\t\troute.security ??= []\n\t\t\tfor (const method of methods) {\n\t\t\t\tconst schemeName = method.routeSecuritySchemeName()\n\t\t\t\tif (schemeName) route.security.push({ [schemeName]: [] })\n\t\t\t}\n\n\t\t\troute.descriptions ??= []\n\t\t\troute.descriptions.push('Requires a valid means of authentication.')\n\t\t},\n\t)\n"]}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _valleyed = require('valleyed');
|
|
2
2
|
var _indexcjs = require('../events/index.cjs');
|
|
3
|
-
var _indexcjs3 = require('./requests-auth/index.cjs');
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
var _indexcjs3 = require('./requests-auth-methods/index.cjs');
|
|
4
|
+
var _typescjs = require('./types.cjs');
|
|
5
|
+
const serverBasePipe = () => _valleyed.v.object({
|
|
6
6
|
port: _valleyed.v.number(),
|
|
7
|
+
cors: _valleyed.v.optional(
|
|
8
|
+
_valleyed.v.object({
|
|
9
|
+
origin: _valleyed.v.optional(_valleyed.v.array(_valleyed.v.string())),
|
|
10
|
+
methods: _valleyed.v.optional(_valleyed.v.array(_valleyed.v.in(Object.values(_typescjs.Methods)))),
|
|
11
|
+
credentials: _valleyed.v.optional(_valleyed.v.boolean())
|
|
12
|
+
})
|
|
13
|
+
),
|
|
7
14
|
eventBus: _valleyed.v.optional(_valleyed.v.instanceOf(_indexcjs.EventBus)),
|
|
8
15
|
publicPath: _valleyed.v.optional(_valleyed.v.string()),
|
|
9
16
|
healthPath: _valleyed.v.optional(_valleyed.v.string()),
|
|
@@ -38,12 +45,20 @@ const serverConfigPipe = () => _valleyed.v.object({
|
|
|
38
45
|
}),
|
|
39
46
|
{}
|
|
40
47
|
),
|
|
41
|
-
|
|
48
|
+
socketsAuthMethods: _valleyed.v.defaults(_valleyed.v.array(_valleyed.v.instanceOf(_indexcjs3.BaseRequestAuthMethod)), [])
|
|
49
|
+
});
|
|
50
|
+
const serverConfigPipe = () => _valleyed.v.discriminate((d) => d.type, {
|
|
51
|
+
fastify: _valleyed.v.merge(
|
|
52
|
+
serverBasePipe(),
|
|
42
53
|
_valleyed.v.object({
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
54
|
+
type: _valleyed.v.is("fastify")
|
|
55
|
+
})
|
|
56
|
+
),
|
|
57
|
+
express: _valleyed.v.merge(
|
|
58
|
+
serverBasePipe(),
|
|
59
|
+
_valleyed.v.object({
|
|
60
|
+
type: _valleyed.v.is("express")
|
|
61
|
+
})
|
|
47
62
|
)
|
|
48
63
|
});
|
|
49
64
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/server/pipes.ts","/home/runner/work/equipped/equipped/dist/cjs/server/pipes.cjs"],"names":[],"mappings":"AAAA,6GAAmC;AAEnC,+CAAyB;
|
|
1
|
+
{"version":3,"sources":["../../../src/server/pipes.ts","/home/runner/work/equipped/equipped/dist/cjs/server/pipes.cjs"],"names":[],"mappings":"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","file":"/home/runner/work/equipped/equipped/dist/cjs/server/pipes.cjs","sourcesContent":["import { type PipeOutput, v } from 'valleyed'\n\nimport { EventBus } from '../events'\nimport type { AuthUser } from '../types'\nimport { BaseRequestAuthMethod } from './requests-auth-methods'\nimport { Methods } from './types'\n\nconst serverBasePipe = () =>\n\tv.object({\n\t\tport: v.number(),\n\t\tcors: v.optional(\n\t\t\tv.object({\n\t\t\t\torigin: v.optional(v.array(v.string())),\n\t\t\t\tmethods: v.optional(v.array(v.in(Object.values(Methods)))),\n\t\t\t\tcredentials: v.optional(v.boolean()),\n\t\t\t}),\n\t\t),\n\t\teventBus: v.optional(v.instanceOf(EventBus)),\n\t\tpublicPath: v.optional(v.string()),\n\t\thealthPath: v.optional(v.string()),\n\t\topenapi: v.defaults(\n\t\t\tv.object({\n\t\t\t\tdocsVersion: v.defaults(v.string(), '1.0.0'),\n\t\t\t\tdocsBaseUrl: v.defaults(v.array(v.string()), ['/']),\n\t\t\t\tdocsPath: v.defaults(v.string(), '/__docs'),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t\trequests: v.defaults(\n\t\t\tv.object({\n\t\t\t\tlog: v.defaults(v.boolean(), true),\n\t\t\t\trateLimit: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 60 * 60 * 1000),\n\t\t\t\t\t\tlimit: v.defaults(v.number(), 5000),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\tslowdown: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 10 * 60 * 1000),\n\t\t\t\t\t\tdelayAfter: v.defaults(v.number(), 2000),\n\t\t\t\t\t\tdelayInMs: v.defaults(v.number(), 500),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t\tsocketsAuthMethods: v.defaults(v.array(v.instanceOf(BaseRequestAuthMethod<AuthUser>)), []),\n\t})\n\nexport const serverConfigPipe = () =>\n\tv.discriminate((d: any) => d.type, {\n\t\tfastify: v.merge(\n\t\t\tserverBasePipe(),\n\t\t\tv.object({\n\t\t\t\ttype: v.is('fastify' as const),\n\t\t\t}),\n\t\t),\n\t\texpress: v.merge(\n\t\t\tserverBasePipe(),\n\t\t\tv.object({\n\t\t\t\ttype: v.is('express' as const),\n\t\t\t}),\n\t\t),\n\t})\n\nexport type ServerConfig = PipeOutput<ReturnType<typeof serverConfigPipe>>\n",null]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _valleyed = require('valleyed');var _indexmincjs = require('../events/index.min.cjs');var _indexmincjs3 = require('./requests-auth/index.min.cjs');const
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _valleyed = require('valleyed');var _indexmincjs = require('../events/index.min.cjs');var _indexmincjs3 = require('./requests-auth-methods/index.min.cjs');var _typesmincjs = require('./types.min.cjs');const t=()=>_valleyed.v.object({port:_valleyed.v.number(),cors:_valleyed.v.optional(_valleyed.v.object({origin:_valleyed.v.optional(_valleyed.v.array(_valleyed.v.string())),methods:_valleyed.v.optional(_valleyed.v.array(_valleyed.v.in(Object.values(_typesmincjs.Methods)))),credentials:_valleyed.v.optional(_valleyed.v.boolean())})),eventBus:_valleyed.v.optional(_valleyed.v.instanceOf(_indexmincjs.EventBus)),publicPath:_valleyed.v.optional(_valleyed.v.string()),healthPath:_valleyed.v.optional(_valleyed.v.string()),openapi:_valleyed.v.defaults(_valleyed.v.object({docsVersion:_valleyed.v.defaults(_valleyed.v.string(),"1.0.0"),docsBaseUrl:_valleyed.v.defaults(_valleyed.v.array(_valleyed.v.string()),["/"]),docsPath:_valleyed.v.defaults(_valleyed.v.string(),"/__docs")}),{}),requests:_valleyed.v.defaults(_valleyed.v.object({log:_valleyed.v.defaults(_valleyed.v.boolean(),!0),rateLimit:_valleyed.v.defaults(_valleyed.v.object({enabled:_valleyed.v.defaults(_valleyed.v.boolean(),!1),periodInMs:_valleyed.v.defaults(_valleyed.v.number(),3600*1e3),limit:_valleyed.v.defaults(_valleyed.v.number(),5e3)}),{}),slowdown:_valleyed.v.defaults(_valleyed.v.object({enabled:_valleyed.v.defaults(_valleyed.v.boolean(),!1),periodInMs:_valleyed.v.defaults(_valleyed.v.number(),600*1e3),delayAfter:_valleyed.v.defaults(_valleyed.v.number(),2e3),delayInMs:_valleyed.v.defaults(_valleyed.v.number(),500)}),{})}),{}),socketsAuthMethods:_valleyed.v.defaults(_valleyed.v.array(_valleyed.v.instanceOf(_indexmincjs3.BaseRequestAuthMethod)),[])}),u= exports.serverConfigPipe =()=>_valleyed.v.discriminate(s=>s.type,{fastify:_valleyed.v.merge(t(),_valleyed.v.object({type:_valleyed.v.is("fastify")})),express:_valleyed.v.merge(t(),_valleyed.v.object({type:_valleyed.v.is("express")}))});exports.serverConfigPipe = u;
|
|
2
2
|
//# sourceMappingURL=pipes.min.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/server/pipes.ts"],"names":["v"],"mappings":"AAAA,6GAAmC,
|
|
1
|
+
{"version":3,"sources":["../../../src/server/pipes.ts"],"names":["v","Methods","EventBus"],"mappings":"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","file":"/home/runner/work/equipped/equipped/dist/cjs/server/pipes.min.cjs","sourcesContent":["import { type PipeOutput, v } from 'valleyed'\n\nimport { EventBus } from '../events'\nimport type { AuthUser } from '../types'\nimport { BaseRequestAuthMethod } from './requests-auth-methods'\nimport { Methods } from './types'\n\nconst serverBasePipe = () =>\n\tv.object({\n\t\tport: v.number(),\n\t\tcors: v.optional(\n\t\t\tv.object({\n\t\t\t\torigin: v.optional(v.array(v.string())),\n\t\t\t\tmethods: v.optional(v.array(v.in(Object.values(Methods)))),\n\t\t\t\tcredentials: v.optional(v.boolean()),\n\t\t\t}),\n\t\t),\n\t\teventBus: v.optional(v.instanceOf(EventBus)),\n\t\tpublicPath: v.optional(v.string()),\n\t\thealthPath: v.optional(v.string()),\n\t\topenapi: v.defaults(\n\t\t\tv.object({\n\t\t\t\tdocsVersion: v.defaults(v.string(), '1.0.0'),\n\t\t\t\tdocsBaseUrl: v.defaults(v.array(v.string()), ['/']),\n\t\t\t\tdocsPath: v.defaults(v.string(), '/__docs'),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t\trequests: v.defaults(\n\t\t\tv.object({\n\t\t\t\tlog: v.defaults(v.boolean(), true),\n\t\t\t\trateLimit: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 60 * 60 * 1000),\n\t\t\t\t\t\tlimit: v.defaults(v.number(), 5000),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\tslowdown: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 10 * 60 * 1000),\n\t\t\t\t\t\tdelayAfter: v.defaults(v.number(), 2000),\n\t\t\t\t\t\tdelayInMs: v.defaults(v.number(), 500),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t\tsocketsAuthMethods: v.defaults(v.array(v.instanceOf(BaseRequestAuthMethod<AuthUser>)), []),\n\t})\n\nexport const serverConfigPipe = () =>\n\tv.discriminate((d: any) => d.type, {\n\t\tfastify: v.merge(\n\t\t\tserverBasePipe(),\n\t\t\tv.object({\n\t\t\t\ttype: v.is('fastify' as const),\n\t\t\t}),\n\t\t),\n\t\texpress: v.merge(\n\t\t\tserverBasePipe(),\n\t\t\tv.object({\n\t\t\t\ttype: v.is('express' as const),\n\t\t\t}),\n\t\t),\n\t})\n\nexport type ServerConfig = PipeOutput<ReturnType<typeof serverConfigPipe>>\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _basecjs = require('./base.cjs');
|
|
2
|
+
var _indexcjs = require('../../errors/index.cjs');
|
|
3
|
+
class BaseApiKeyRequestAuthMethod extends _basecjs.BaseRequestAuthMethod {
|
|
4
|
+
|
|
5
|
+
constructor(headerName) {
|
|
6
|
+
super();
|
|
7
|
+
this.headerName = headerName;
|
|
8
|
+
}
|
|
9
|
+
async parse(headers) {
|
|
10
|
+
const headerValue = headers[this.headerName];
|
|
11
|
+
if (!headerValue || typeof headerValue !== "string") throw new (0, _indexcjs.NotAuthenticatedError)();
|
|
12
|
+
return this.verify(headerValue);
|
|
13
|
+
}
|
|
14
|
+
routeSecuritySchemeName() {
|
|
15
|
+
return this.headerName;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
exports.BaseApiKeyRequestAuthMethod = BaseApiKeyRequestAuthMethod;
|
|
21
|
+
//# sourceMappingURL=apiKeys.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/server/requests-auth-methods/apiKeys.ts","/home/runner/work/equipped/equipped/dist/cjs/server/requests-auth-methods/apiKeys.cjs"],"names":[],"mappings":"AAEA,8GAAsC;AACtC,kDAAsC;AAE/B,MAAe,4BAAA,QAA8D,+BAAyB;AAAA,EACzF;AAAA,EAGnB,WAAA,CAAY,UAAA,EAAoB;AAC/B,IAAA,KAAA,CAAM,CAAA;AACN,IAAA,IAAA,CAAK,WAAA,EAAa,UAAA;AAAA,EACnB;AAAA,EAEA,MAAM,KAAA,CAAM,OAAA,EAA8B;AACzC,IAAA,MAAM,YAAA,EAAc,OAAA,CAAQ,IAAA,CAAK,UAAU,CAAA;AAC3C,IAAA,GAAA,CAAI,CAAC,YAAA,GAAe,OAAO,YAAA,IAAgB,QAAA,EAAU,MAAM,IAAI,oCAAA,CAAsB,CAAA;AACrF,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,WAAW,CAAA;AAAA,EAC/B;AAAA,EAEA,uBAAA,CAAA,EAA0B;AACzB,IAAA,OAAO,IAAA,CAAK,UAAA;AAAA,EACb;AACD;ACNA;AACE;AACF,kEAAC","file":"/home/runner/work/equipped/equipped/dist/cjs/server/requests-auth-methods/apiKeys.cjs","sourcesContent":["import type { IncomingHttpHeaders } from 'node:http2'\n\nimport { BaseRequestAuthMethod } from './base'\nimport { NotAuthenticatedError } from '../../errors'\n\nexport abstract class BaseApiKeyRequestAuthMethod<T extends { id: string }> extends BaseRequestAuthMethod<T> {\n\tprotected readonly headerName: string\n\tprotected abstract verify(apiKey: string): Promise<T>\n\n\tconstructor(headerName: string) {\n\t\tsuper()\n\t\tthis.headerName = headerName\n\t}\n\n\tasync parse(headers: IncomingHttpHeaders) {\n\t\tconst headerValue = headers[this.headerName]\n\t\tif (!headerValue || typeof headerValue !== 'string') throw new NotAuthenticatedError()\n\t\treturn this.verify(headerValue)\n\t}\n\n\trouteSecuritySchemeName() {\n\t\treturn this.headerName\n\t}\n}\n",null]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _basemincjs = require('./base.min.cjs');var _indexmincjs = require('../../errors/index.min.cjs');class n extends _basemincjs.BaseRequestAuthMethod{constructor(e){super(),this.headerName=e}async parse(e){const t=e[this.headerName];if(!t||typeof t!="string")throw new _indexmincjs.NotAuthenticatedError;return this.verify(t)}routeSecuritySchemeName(){return this.headerName}}exports.BaseApiKeyRequestAuthMethod = n;
|
|
2
|
+
//# sourceMappingURL=apiKeys.min.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/server/requests-auth-methods/apiKeys.ts"],"names":["headerName","headerValue","headers"],"mappings":"AAEA,qHACS,yDAGW,MAGnB,EAAA,QAAA,iCAAYA,CAAAA,WAEN,CAAA,CAAA,CAAA,CAAaA,KAGnB,CAAA,CAAA,CAAM,IAAA,CAAA,UACCC,CAAAA,CAAcC,CAAAA,MAAa,KAAA,CAAA,CAAA,CAAA,CAAA,MAC7B,CAACD,CAAAA,CAAAA,CAAe,IAAA,CAAA,UAAuB,CAAA,CAAA,EAAU,CAAA,CAAA,CAAA,EAAA,OACrD,CAAA,EAAA,QAAO,CAAK,MAAA,IAGb,kCAAA,CAAA,OAAA,IAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,uBACa,CACb,CACD,CAAA,OAAA,IAAA,CAAA,UAAA,CAAA,CAAA,wCAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/server/requests-auth-methods/apiKeys.min.cjs","sourcesContent":["import type { IncomingHttpHeaders } from 'node:http2'\n\nimport { BaseRequestAuthMethod } from './base'\nimport { NotAuthenticatedError } from '../../errors'\n\nexport abstract class BaseApiKeyRequestAuthMethod<T extends { id: string }> extends BaseRequestAuthMethod<T> {\n\tprotected readonly headerName: string\n\tprotected abstract verify(apiKey: string): Promise<T>\n\n\tconstructor(headerName: string) {\n\t\tsuper()\n\t\tthis.headerName = headerName\n\t}\n\n\tasync parse(headers: IncomingHttpHeaders) {\n\t\tconst headerValue = headers[this.headerName]\n\t\tif (!headerValue || typeof headerValue !== 'string') throw new NotAuthenticatedError()\n\t\treturn this.verify(headerValue)\n\t}\n\n\trouteSecuritySchemeName() {\n\t\treturn this.headerName\n\t}\n}\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('node:http2');
|
|
2
|
+
var _indexcjs = require('../../errors/index.cjs');
|
|
3
|
+
class BaseRequestAuthMethod {
|
|
4
|
+
static async process(methods, headers) {
|
|
5
|
+
if (methods.length === 0) return null;
|
|
6
|
+
let error;
|
|
7
|
+
for (const method of methods) {
|
|
8
|
+
try {
|
|
9
|
+
return await method.parse(headers);
|
|
10
|
+
} catch (err) {
|
|
11
|
+
error = err;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
throw error instanceof _indexcjs.RequestError ? error : new (0, _indexcjs.BadRequestError)("failed to parse auth user", error);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
exports.BaseRequestAuthMethod = BaseRequestAuthMethod;
|
|
20
|
+
//# sourceMappingURL=base.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/server/requests-auth-methods/base.ts","/home/runner/work/equipped/equipped/dist/cjs/server/requests-auth-methods/base.cjs"],"names":[],"mappings":"AAAA,+FAAyC;AAEzC,kDAA8C;AAEvC,MAAe,sBAAgD;AAAA,EAIrE,OAAA,MAAa,OAAA,CAAkC,OAAA,EAAqC,OAAA,EAA8B;AACjH,IAAA,GAAA,CAAI,OAAA,CAAQ,OAAA,IAAW,CAAA,EAAG,OAAO,IAAA;AACjC,IAAA,IAAI,KAAA;AACJ,IAAA,IAAA,CAAA,MAAW,OAAA,GAAU,OAAA,EAAS;AAC7B,MAAA,IAAI;AACH,QAAA,OAAO,MAAM,MAAA,CAAO,KAAA,CAAM,OAAO,CAAA;AAAA,MAClC,EAAA,MAAA,CAAS,GAAA,EAAK;AACb,QAAA,MAAA,EAAQ,GAAA;AAAA,MACT;AAAA,IACD;AACA,IAAA,MAAM,MAAA,WAAiB,uBAAA,EAAe,MAAA,EAAQ,IAAI,8BAAA,CAAgB,2BAAA,EAA6B,KAAK,CAAA;AAAA,EACrG;AACD;ACJA;AACE;AACF,sDAAC","file":"/home/runner/work/equipped/equipped/dist/cjs/server/requests-auth-methods/base.cjs","sourcesContent":["import { type IncomingHttpHeaders } from 'node:http2'\n\nimport { BadRequestError, RequestError } from '../../errors'\n\nexport abstract class BaseRequestAuthMethod<T extends { id: string }> {\n\tpublic abstract parse(headers: IncomingHttpHeaders): Promise<T>\n\tpublic abstract routeSecuritySchemeName(): string | null\n\n\tstatic async process<T extends { id: string }>(methods: BaseRequestAuthMethod<T>[], headers: IncomingHttpHeaders) {\n\t\tif (methods.length === 0) return null\n\t\tlet error: Error | undefined\n\t\tfor (const method of methods) {\n\t\t\ttry {\n\t\t\t\treturn await method.parse(headers)\n\t\t\t} catch (err) {\n\t\t\t\terror = err as Error\n\t\t\t}\n\t\t}\n\t\tthrow error instanceof RequestError ? error : new BadRequestError('failed to parse auth user', error)\n\t}\n}\n",null]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('node:http2');var _indexmincjs = require('../../errors/index.min.cjs');class d{static async process(r,t){if(r.length===0)return null;let e;for(const s of r)try{return await s.parse(t)}catch(a){e=a}throw e instanceof _indexmincjs.RequestError?e:new (0, _indexmincjs.BadRequestError)("failed to parse auth user",e)}}exports.BaseRequestAuthMethod = d;
|
|
2
|
+
//# sourceMappingURL=base.min.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/server/requests-auth-methods/base.ts"],"names":["methods","method","err","error"],"mappings":"AAAA,+FAAyC,yDAQxC,MAAa,CAAA,CAAA,OAAkCA,MAC9C,OAAY,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,EAAG,CAAA,CAAA,CAAA,MAAO,GACjC,CAAA,CAAA,OACA,IAAA,CAAA,IAAWC,CAAAA,CAAUD,GACpB,CAAA,MACC,EAAA,GAAO,CAAA,CAAA,GAAMC,CAAO,OAAa,MAClC,CAAA,CAASC,KACAA,CACT,CAED,CAAA,CAAA,KAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAgCA,EAAQ,WAAoB,yBAAA,CAAA,CAAA,CAAA,IAAA,iCAAA,CAAA,2BAEpE,CAAA,CAAA,CAAA,CAAA,CAAA,kCAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/server/requests-auth-methods/base.min.cjs","sourcesContent":["import { type IncomingHttpHeaders } from 'node:http2'\n\nimport { BadRequestError, RequestError } from '../../errors'\n\nexport abstract class BaseRequestAuthMethod<T extends { id: string }> {\n\tpublic abstract parse(headers: IncomingHttpHeaders): Promise<T>\n\tpublic abstract routeSecuritySchemeName(): string | null\n\n\tstatic async process<T extends { id: string }>(methods: BaseRequestAuthMethod<T>[], headers: IncomingHttpHeaders) {\n\t\tif (methods.length === 0) return null\n\t\tlet error: Error | undefined\n\t\tfor (const method of methods) {\n\t\t\ttry {\n\t\t\t\treturn await method.parse(headers)\n\t\t\t} catch (err) {\n\t\t\t\terror = err as Error\n\t\t\t}\n\t\t}\n\t\tthrow error instanceof RequestError ? error : new BadRequestError('failed to parse auth user', error)\n\t}\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); }var _apiKeyscjs = require('./apiKeys.cjs'); _createStarExport(_apiKeyscjs);
|
|
2
|
-
var
|
|
2
|
+
var _basecjs = require('./base.cjs'); _createStarExport(_basecjs);
|
|
3
|
+
var _jwtcjs = require('./jwt.cjs'); _createStarExport(_jwtcjs);
|
|
3
4
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/server/requests-auth-methods/index.ts"],"names":[],"mappings":"AAAA,4aAAc;AACd,kEAAc;AACd,+DAAc","file":"/home/runner/work/equipped/equipped/dist/cjs/server/requests-auth-methods/index.cjs","sourcesContent":["export * from './apiKeys'\nexport * from './base'\nexport * from './jwt'\n"]}
|