@sima-land/isomorph 11.0.0-alpha.45 → 11.0.0-alpha.47
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 +1 -0
- package/dist/cjs/config/source.js +2 -0
- package/dist/cjs/config/source.js.map +1 -1
- package/dist/cjs/config/types.js.map +1 -1
- package/dist/cjs/http/index.js +6 -12
- package/dist/cjs/http/index.js.map +1 -1
- package/dist/cjs/http/types.js.map +1 -1
- package/dist/cjs/log/errors.js.map +1 -1
- package/dist/cjs/package.json +4 -3
- package/dist/cjs/preset/bun/index.js +3 -2
- package/dist/cjs/preset/bun/index.js.map +1 -1
- package/dist/cjs/preset/bun/providers/serve-middleware.js +1 -1
- package/dist/cjs/preset/bun/providers/serve-middleware.js.map +1 -1
- package/dist/cjs/preset/bun-handler/index.js +0 -2
- package/dist/cjs/preset/bun-handler/index.js.map +1 -1
- package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js +1 -2
- package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js.map +1 -1
- package/dist/cjs/preset/bun-handler/providers/handler-main.js +6 -24
- package/dist/cjs/preset/bun-handler/providers/handler-main.js.map +1 -1
- package/dist/cjs/preset/node/index.js +9 -2
- package/dist/cjs/preset/node/index.js.map +1 -1
- package/dist/cjs/preset/node/providers/express-metrics-middleware.js +1 -1
- package/dist/cjs/preset/node/providers/express-metrics-middleware.js.map +1 -1
- package/dist/cjs/preset/node/providers/main-express-app.js +62 -0
- package/dist/cjs/preset/node/providers/main-express-app.js.map +1 -0
- package/dist/cjs/preset/node/providers/{metrics-http-app.js → metrics-express-app.js} +3 -3
- package/dist/cjs/preset/node/providers/metrics-express-app.js.map +1 -0
- package/dist/cjs/preset/node/types.js.map +1 -1
- package/dist/cjs/preset/{server → node}/utils/get-fetch-tracing.js +2 -2
- package/dist/cjs/preset/node/utils/get-fetch-tracing.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-handler-metrics.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-page-response-format.js +1 -0
- package/dist/cjs/preset/node/utils/get-page-response-format.js.map +1 -1
- package/dist/cjs/preset/{server → node}/utils/get-serve-measuring.js +1 -1
- package/dist/cjs/preset/node/utils/get-serve-measuring.js.map +1 -0
- package/dist/cjs/preset/node-handler/index.js +2 -2
- package/dist/cjs/preset/node-handler/index.js.map +1 -1
- package/dist/cjs/preset/node-handler/providers/axios-middleware.js +1 -2
- package/dist/cjs/preset/node-handler/providers/axios-middleware.js.map +1 -1
- package/dist/cjs/preset/node-handler/providers/fetch-middleware.js +2 -3
- package/dist/cjs/preset/node-handler/providers/fetch-middleware.js.map +1 -1
- package/dist/cjs/preset/node-handler/providers/handler-main.js +1 -14
- package/dist/cjs/preset/node-handler/providers/handler-main.js.map +1 -1
- package/dist/cjs/preset/server/index.js +6 -0
- package/dist/cjs/preset/server/index.js.map +1 -1
- package/dist/cjs/preset/server/providers/fetch-middleware.js.map +1 -0
- package/dist/cjs/preset/server/providers/format-page-response.js +4 -1
- package/dist/cjs/preset/server/providers/format-page-response.js.map +1 -1
- package/dist/cjs/preset/server/providers/serve.js +47 -0
- package/dist/cjs/preset/server/providers/serve.js.map +1 -0
- package/dist/cjs/preset/server/types.js.map +1 -1
- package/dist/cjs/preset/server/utils/get-forwarded-headers.js +6 -0
- package/dist/cjs/preset/server/utils/get-forwarded-headers.js.map +1 -1
- package/dist/cjs/preset/server/utils/get-page-response-format.js +1 -0
- package/dist/cjs/preset/server/utils/get-page-response-format.js.map +1 -1
- package/dist/cjs/preset/server/utils/get-serve-error-logging.js +2 -2
- package/dist/cjs/preset/server/utils/get-serve-error-logging.js.map +1 -1
- package/dist/cjs/preset/server/utils/get-serve-logging.js +3 -4
- package/dist/cjs/preset/server/utils/get-serve-logging.js.map +1 -1
- package/dist/cjs/preset/web/providers/axios-middleware.js.map +1 -1
- package/dist/cjs/tokens.js +16 -5
- package/dist/cjs/tokens.js.map +1 -1
- package/dist/cjs/utils/axios/index.js +0 -7
- package/dist/cjs/utils/axios/index.js.map +1 -1
- package/dist/cjs/utils/express/handler/health-check.js.map +1 -1
- package/dist/cjs/utils/express/utils/index.js.map +1 -1
- package/dist/esm/config/source.js +1 -0
- package/dist/esm/config/source.js.map +1 -1
- package/dist/esm/config/types.js.map +1 -1
- package/dist/esm/http/index.js +2 -2
- package/dist/esm/http/index.js.map +1 -1
- package/dist/esm/http/types.js.map +1 -1
- package/dist/esm/log/errors.js.map +1 -1
- package/dist/esm/package.json +4 -3
- package/dist/esm/preset/bun/index.js +3 -2
- package/dist/esm/preset/bun/index.js.map +1 -1
- package/dist/esm/preset/bun/providers/serve-middleware.js +1 -1
- package/dist/esm/preset/bun/providers/serve-middleware.js.map +1 -1
- package/dist/esm/preset/bun-handler/index.js +0 -2
- package/dist/esm/preset/bun-handler/index.js.map +1 -1
- package/dist/esm/preset/bun-handler/providers/fetch-middleware.js +2 -3
- package/dist/esm/preset/bun-handler/providers/fetch-middleware.js.map +1 -1
- package/dist/esm/preset/bun-handler/providers/handler-main.js +6 -24
- package/dist/esm/preset/bun-handler/providers/handler-main.js.map +1 -1
- package/dist/esm/preset/node/index.js +9 -4
- package/dist/esm/preset/node/index.js.map +1 -1
- package/dist/esm/preset/node/providers/express-metrics-middleware.js +1 -1
- package/dist/esm/preset/node/providers/express-metrics-middleware.js.map +1 -1
- package/dist/esm/preset/node/providers/main-express-app.js +56 -0
- package/dist/esm/preset/node/providers/main-express-app.js.map +1 -0
- package/dist/esm/preset/node/providers/{metrics-http-app.js → metrics-express-app.js} +2 -2
- package/dist/esm/preset/node/providers/metrics-express-app.js.map +1 -0
- package/dist/esm/preset/node/types.js.map +1 -1
- package/dist/esm/preset/{server → node}/utils/get-fetch-tracing.js +2 -2
- package/dist/esm/preset/node/utils/get-fetch-tracing.js.map +1 -0
- package/dist/esm/preset/node/utils/get-handler-metrics.js.map +1 -0
- package/dist/esm/preset/node/utils/get-page-response-format.js +1 -0
- package/dist/esm/preset/node/utils/get-page-response-format.js.map +1 -1
- package/dist/esm/preset/{server → node}/utils/get-serve-measuring.js +1 -1
- package/dist/esm/preset/node/utils/get-serve-measuring.js.map +1 -0
- package/dist/esm/preset/node-handler/index.js +2 -2
- package/dist/esm/preset/node-handler/index.js.map +1 -1
- package/dist/esm/preset/node-handler/providers/axios-middleware.js +2 -3
- package/dist/esm/preset/node-handler/providers/axios-middleware.js.map +1 -1
- package/dist/esm/preset/node-handler/providers/fetch-middleware.js +3 -4
- package/dist/esm/preset/node-handler/providers/fetch-middleware.js.map +1 -1
- package/dist/esm/preset/node-handler/providers/handler-main.js +1 -14
- package/dist/esm/preset/node-handler/providers/handler-main.js.map +1 -1
- package/dist/esm/preset/server/index.js +1 -1
- package/dist/esm/preset/server/index.js.map +1 -1
- package/dist/esm/preset/server/providers/fetch-middleware.js.map +1 -0
- package/dist/esm/preset/server/providers/format-page-response.js +4 -1
- package/dist/esm/preset/server/providers/format-page-response.js.map +1 -1
- package/dist/esm/preset/server/providers/serve.js +41 -0
- package/dist/esm/preset/server/providers/serve.js.map +1 -0
- package/dist/esm/preset/server/types.js.map +1 -1
- package/dist/esm/preset/server/utils/get-forwarded-headers.js +6 -0
- package/dist/esm/preset/server/utils/get-forwarded-headers.js.map +1 -1
- package/dist/esm/preset/server/utils/get-page-response-format.js +1 -0
- package/dist/esm/preset/server/utils/get-page-response-format.js.map +1 -1
- package/dist/esm/preset/server/utils/get-serve-error-logging.js +2 -2
- package/dist/esm/preset/server/utils/get-serve-error-logging.js.map +1 -1
- package/dist/esm/preset/server/utils/get-serve-logging.js +3 -4
- package/dist/esm/preset/server/utils/get-serve-logging.js.map +1 -1
- package/dist/esm/preset/web/providers/axios-middleware.js.map +1 -1
- package/dist/esm/tokens.js +16 -5
- package/dist/esm/tokens.js.map +1 -1
- package/dist/esm/utils/axios/index.js +0 -1
- package/dist/esm/utils/axios/index.js.map +1 -1
- package/dist/esm/utils/express/handler/health-check.js.map +1 -1
- package/dist/esm/utils/express/utils/index.js.map +1 -1
- package/dist/types/config/source.d.ts.map +1 -1
- package/dist/types/config/types.d.ts.map +1 -1
- package/dist/types/http/index.d.ts +3 -3
- package/dist/types/http/index.d.ts.map +1 -1
- package/dist/types/http/types.d.ts +3 -3
- package/dist/types/http/types.d.ts.map +1 -1
- package/dist/types/log/errors.d.ts +1 -1
- package/dist/types/log/errors.d.ts.map +1 -1
- package/dist/types/preset/bun/index.d.ts.map +1 -1
- package/dist/types/preset/bun-handler/index.d.ts.map +1 -1
- package/dist/types/preset/bun-handler/providers/fetch-middleware.d.ts.map +1 -1
- package/dist/types/preset/bun-handler/providers/handler-main.d.ts +1 -1
- package/dist/types/preset/bun-handler/providers/handler-main.d.ts.map +1 -1
- package/dist/types/preset/node/index.d.ts +1 -0
- package/dist/types/preset/node/index.d.ts.map +1 -1
- package/dist/types/preset/node/providers/main-express-app.d.ts +9 -0
- package/dist/types/preset/node/providers/main-express-app.d.ts.map +1 -0
- package/dist/types/preset/node/providers/{metrics-http-app.d.ts → metrics-express-app.d.ts} +2 -2
- package/dist/types/preset/node/providers/metrics-express-app.d.ts.map +1 -0
- package/dist/types/preset/node/types.d.ts +6 -4
- package/dist/types/preset/node/types.d.ts.map +1 -1
- package/dist/types/preset/node/utils/get-fetch-tracing.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-handler-metrics.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-page-response-format.d.ts +1 -0
- package/dist/types/preset/node/utils/get-page-response-format.d.ts.map +1 -1
- package/dist/types/preset/{server → node}/utils/get-serve-measuring.d.ts +1 -1
- package/dist/types/preset/node/utils/get-serve-measuring.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/axios-middleware.d.ts.map +1 -1
- package/dist/types/preset/node-handler/providers/fetch-middleware.d.ts.map +1 -1
- package/dist/types/preset/node-handler/providers/handler-main.d.ts.map +1 -1
- package/dist/types/preset/server/index.d.ts +2 -2
- package/dist/types/preset/server/index.d.ts.map +1 -1
- package/dist/types/preset/server/providers/fetch-middleware.d.ts.map +1 -0
- package/dist/types/preset/server/providers/format-page-response.d.ts.map +1 -1
- package/dist/types/preset/server/providers/serve.d.ts.map +1 -0
- package/dist/types/preset/server/types.d.ts +6 -1
- package/dist/types/preset/server/types.d.ts.map +1 -1
- package/dist/types/preset/server/utils/get-forwarded-headers.d.ts.map +1 -1
- package/dist/types/preset/server/utils/get-page-response-format.d.ts +1 -0
- package/dist/types/preset/server/utils/get-page-response-format.d.ts.map +1 -1
- package/dist/types/preset/server/utils/get-serve-error-logging.d.ts.map +1 -1
- package/dist/types/preset/server/utils/get-serve-logging.d.ts.map +1 -1
- package/dist/types/preset/web/providers/axios-middleware.d.ts +3 -2
- package/dist/types/preset/web/providers/axios-middleware.d.ts.map +1 -1
- package/dist/types/preset/web/providers/fetch-middleware.d.ts +1 -1
- package/dist/types/preset/web/providers/fetch-middleware.d.ts.map +1 -1
- package/dist/types/tokens.d.ts +21 -10
- package/dist/types/tokens.d.ts.map +1 -1
- package/dist/types/utils/axios/index.d.ts +0 -1
- package/dist/types/utils/axios/index.d.ts.map +1 -1
- package/dist/types/utils/express/handler/health-check.d.ts +2 -2
- package/dist/types/utils/express/handler/health-check.d.ts.map +1 -1
- package/dist/types/utils/express/utils/index.d.ts +2 -2
- package/dist/types/utils/express/utils/index.d.ts.map +1 -1
- package/package.json +4 -3
- package/dist/cjs/preset/bun/providers/fetch-middleware.js.map +0 -1
- package/dist/cjs/preset/bun/providers/serve.js +0 -33
- package/dist/cjs/preset/bun/providers/serve.js.map +0 -1
- package/dist/cjs/preset/bun-handler/providers/cookie-store.js +0 -15
- package/dist/cjs/preset/bun-handler/providers/cookie-store.js.map +0 -1
- package/dist/cjs/preset/node/providers/metrics-http-app.js.map +0 -1
- package/dist/cjs/preset/node-handler/providers/cookie-store.js +0 -18
- package/dist/cjs/preset/node-handler/providers/cookie-store.js.map +0 -1
- package/dist/cjs/preset/server/utils/get-fetch-tracing.js.map +0 -1
- package/dist/cjs/preset/server/utils/get-handler-metrics.js.map +0 -1
- package/dist/cjs/preset/server/utils/get-serve-measuring.js.map +0 -1
- package/dist/cjs/utils/axios/middleware/cookie.js +0 -28
- package/dist/cjs/utils/axios/middleware/cookie.js.map +0 -1
- package/dist/esm/preset/bun/providers/fetch-middleware.js.map +0 -1
- package/dist/esm/preset/bun/providers/serve.js +0 -27
- package/dist/esm/preset/bun/providers/serve.js.map +0 -1
- package/dist/esm/preset/bun-handler/providers/cookie-store.js +0 -9
- package/dist/esm/preset/bun-handler/providers/cookie-store.js.map +0 -1
- package/dist/esm/preset/node/providers/metrics-http-app.js.map +0 -1
- package/dist/esm/preset/node-handler/providers/cookie-store.js +0 -13
- package/dist/esm/preset/node-handler/providers/cookie-store.js.map +0 -1
- package/dist/esm/preset/server/utils/get-fetch-tracing.js.map +0 -1
- package/dist/esm/preset/server/utils/get-handler-metrics.js.map +0 -1
- package/dist/esm/preset/server/utils/get-serve-measuring.js.map +0 -1
- package/dist/esm/utils/axios/middleware/cookie.js +0 -22
- package/dist/esm/utils/axios/middleware/cookie.js.map +0 -1
- package/dist/types/preset/bun/providers/fetch-middleware.d.ts.map +0 -1
- package/dist/types/preset/bun/providers/serve.d.ts.map +0 -1
- package/dist/types/preset/bun-handler/providers/cookie-store.d.ts +0 -4
- package/dist/types/preset/bun-handler/providers/cookie-store.d.ts.map +0 -1
- package/dist/types/preset/node/providers/metrics-http-app.d.ts.map +0 -1
- package/dist/types/preset/node-handler/providers/cookie-store.d.ts +0 -9
- package/dist/types/preset/node-handler/providers/cookie-store.d.ts.map +0 -1
- package/dist/types/preset/server/utils/get-fetch-tracing.d.ts.map +0 -1
- package/dist/types/preset/server/utils/get-handler-metrics.d.ts.map +0 -1
- package/dist/types/preset/server/utils/get-serve-measuring.d.ts.map +0 -1
- package/dist/types/utils/axios/middleware/cookie.d.ts +0 -9
- package/dist/types/utils/axios/middleware/cookie.d.ts.map +0 -1
- /package/dist/cjs/preset/{server → node}/utils/get-handler-metrics.js +0 -0
- /package/dist/cjs/preset/{bun → server}/providers/fetch-middleware.js +0 -0
- /package/dist/esm/preset/{server → node}/utils/get-handler-metrics.js +0 -0
- /package/dist/esm/preset/{bun → server}/providers/fetch-middleware.js +0 -0
- /package/dist/types/preset/{server → node}/utils/get-fetch-tracing.d.ts +0 -0
- /package/dist/types/preset/{server → node}/utils/get-handler-metrics.d.ts +0 -0
- /package/dist/types/preset/{bun → server}/providers/fetch-middleware.d.ts +0 -0
- /package/dist/types/preset/{bun → server}/providers/serve.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler-main.js","names":["KnownToken","HelmetContext","formatHandlerError","provideHandlerMain","resolve","config","Config","base","logger","context","ExpressHandler","render","Http","Handler","Page","assetsInit","assets","
|
|
1
|
+
{"version":3,"file":"handler-main.js","names":["KnownToken","HelmetContext","formatHandlerError","provideHandlerMain","resolve","config","Config","base","logger","context","ExpressHandler","render","Http","Handler","Page","assetsInit","assets","Helmet","helmet","abortController","Fetch","formatResponse","getAssets","jsx","React","createElement","Provider","value","title","appName","body","headers","forEach","hValue","hName","res","setHeader","send","error","response","log","status","redirectLocation","redirect","level","abort"],"sources":["../../../../../src/preset/node-handler/providers/handler-main.tsx"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport type express from 'express';\nimport { KnownToken } from '../../../tokens';\nimport { HelmetContext } from '../../server/utils/regular-helmet';\nimport { formatHandlerError } from '../../server/utils/format-handler-error';\n\n/**\n * Провайдер главной функции обработчика входящего http-запроса.\n * @param resolve Функция для получения зависимости по токену.\n * @return Главная функция.\n */\nexport function provideHandlerMain(resolve: Resolve): express.Handler {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n const context = resolve(KnownToken.ExpressHandler.context);\n const render = resolve(KnownToken.Http.Handler.Page.render);\n const assetsInit = resolve(KnownToken.Http.Handler.Page.assets);\n const Helmet = resolve(KnownToken.Http.Handler.Page.helmet);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n const formatResponse = resolve(KnownToken.Http.Handler.Page.formatResponse);\n\n const getAssets = typeof assetsInit === 'function' ? assetsInit : () => assetsInit;\n\n return async () => {\n try {\n const assets = await getAssets();\n\n const jsx = (\n <HelmetContext.Provider value={{ title: config.appName, assets }}>\n <Helmet>{await render()}</Helmet>\n </HelmetContext.Provider>\n );\n\n const { body, headers } = await formatResponse(jsx, assets);\n\n headers.forEach((hValue, hName) => context.res.setHeader(hName, hValue));\n context.res.send(body);\n } catch (error) {\n const { response, log } = formatHandlerError(error);\n\n if (response.status > 299 && response.status < 400 && response.redirectLocation) {\n context.res.redirect(response.status, response.redirectLocation);\n } else {\n context.res.status(response.status).send(response.body);\n }\n\n if (log.level && logger[log.level]) {\n logger[log.level](error);\n }\n }\n\n // ВАЖНО: прерываем исходящие в рамках обработчика http-запросы\n abortController.abort();\n };\n}\n\n// @todo а что если привести все зависимости к виду:\n// const getAppConfig = resolve.lazy(KnownToken.Config.base);\n"],"mappings":"AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,aAAa,QAAQ,sCAAmC;AACjE,SAASC,kBAAkB,QAAQ,4CAAyC;;AAE5E;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,OAAgB,EAAmB;EACpE,MAAMC,MAAM,GAAGD,OAAO,CAACJ,UAAU,CAACM,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGJ,OAAO,CAACJ,UAAU,CAACQ,MAAM,CAAC;EACzC,MAAMC,OAAO,GAAGL,OAAO,CAACJ,UAAU,CAACU,cAAc,CAACD,OAAO,CAAC;EAC1D,MAAME,MAAM,GAAGP,OAAO,CAACJ,UAAU,CAACY,IAAI,CAACC,OAAO,CAACC,IAAI,CAACH,MAAM,CAAC;EAC3D,MAAMI,UAAU,GAAGX,OAAO,CAACJ,UAAU,CAACY,IAAI,CAACC,OAAO,CAACC,IAAI,CAACE,MAAM,CAAC;EAC/D,MAAMC,MAAM,GAAGb,OAAO,CAACJ,UAAU,CAACY,IAAI,CAACC,OAAO,CAACC,IAAI,CAACI,MAAM,CAAC;EAC3D,MAAMC,eAAe,GAAGf,OAAO,CAACJ,UAAU,CAACY,IAAI,CAACQ,KAAK,CAACD,eAAe,CAAC;EACtE,MAAME,cAAc,GAAGjB,OAAO,CAACJ,UAAU,CAACY,IAAI,CAACC,OAAO,CAACC,IAAI,CAACO,cAAc,CAAC;EAE3E,MAAMC,SAAS,GAAG,OAAOP,UAAU,KAAK,UAAU,GAAGA,UAAU,GAAG,MAAMA,UAAU;EAElF,OAAO,YAAY;IACjB,IAAI;MACF,MAAMC,MAAM,GAAG,MAAMM,SAAS,CAAC,CAAC;MAEhC,MAAMC,GAAG,gBACPC,KAAA,CAAAC,aAAA,CAACxB,aAAa,CAACyB,QAAQ;QAACC,KAAK,EAAE;UAAEC,KAAK,EAAEvB,MAAM,CAACwB,OAAO;UAAEb;QAAO;MAAE,gBAC/DQ,KAAA,CAAAC,aAAA,CAACR,MAAM,QAAE,MAAMN,MAAM,CAAC,CAAU,CACV,CACzB;MAED,MAAM;QAAEmB,IAAI;QAAEC;MAAQ,CAAC,GAAG,MAAMV,cAAc,CAACE,GAAG,EAAEP,MAAM,CAAC;MAE3De,OAAO,CAACC,OAAO,CAAC,CAACC,MAAM,EAAEC,KAAK,KAAKzB,OAAO,CAAC0B,GAAG,CAACC,SAAS,CAACF,KAAK,EAAED,MAAM,CAAC,CAAC;MACxExB,OAAO,CAAC0B,GAAG,CAACE,IAAI,CAACP,IAAI,CAAC;IACxB,CAAC,CAAC,OAAOQ,KAAK,EAAE;MACd,MAAM;QAAEC,QAAQ;QAAEC;MAAI,CAAC,GAAGtC,kBAAkB,CAACoC,KAAK,CAAC;MAEnD,IAAIC,QAAQ,CAACE,MAAM,GAAG,GAAG,IAAIF,QAAQ,CAACE,MAAM,GAAG,GAAG,IAAIF,QAAQ,CAACG,gBAAgB,EAAE;QAC/EjC,OAAO,CAAC0B,GAAG,CAACQ,QAAQ,CAACJ,QAAQ,CAACE,MAAM,EAAEF,QAAQ,CAACG,gBAAgB,CAAC;MAClE,CAAC,MAAM;QACLjC,OAAO,CAAC0B,GAAG,CAACM,MAAM,CAACF,QAAQ,CAACE,MAAM,CAAC,CAACJ,IAAI,CAACE,QAAQ,CAACT,IAAI,CAAC;MACzD;MAEA,IAAIU,GAAG,CAACI,KAAK,IAAIpC,MAAM,CAACgC,GAAG,CAACI,KAAK,CAAC,EAAE;QAClCpC,MAAM,CAACgC,GAAG,CAACI,KAAK,CAAC,CAACN,KAAK,CAAC;MAC1B;IACF;;IAEA;IACAnB,eAAe,CAAC0B,KAAK,CAAC,CAAC;EACzB,CAAC;AACH;;AAEA;AACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["PAGE_HANDLER_EVENT_TYPE","applyServerMiddleware","getClientIp","getForwardedHeaders","getHealthCheck","getPageResponseFormat","getServeErrorLogging","getServeLogging","HandlerProvider","RegularHelmet","HelmetContext","SpecificExtras"],"sources":["../../../../src/preset/server/index.ts"],"sourcesContent":["export type {
|
|
1
|
+
{"version":3,"file":"index.js","names":["PAGE_HANDLER_EVENT_TYPE","PAGE_FORMAT_PRIORITY","applyServerMiddleware","getClientIp","getForwardedHeaders","getHealthCheck","getPageResponseFormat","getServeErrorLogging","getServeLogging","HandlerProvider","RegularHelmet","HelmetContext","SpecificExtras"],"sources":["../../../../src/preset/server/index.ts"],"sourcesContent":["export type {\n ServerHandler,\n ServerMiddleware,\n ServerHandlerContext,\n PageResponseFormatter,\n PageResponseFormatResult,\n RouteInfo,\n RouteList,\n} from './types';\nexport { PAGE_HANDLER_EVENT_TYPE, PAGE_FORMAT_PRIORITY } from './constants';\n\n// доступные утилиты\nexport { applyServerMiddleware } from './utils/apply-server-middleware';\nexport { getClientIp } from './utils/get-client-ip';\nexport { getForwardedHeaders } from './utils/get-forwarded-headers';\nexport { getHealthCheck } from './utils/get-health-check';\nexport { getPageResponseFormat } from './utils/get-page-response-format';\nexport { getServeErrorLogging } from './utils/get-serve-error-logging';\nexport { getServeLogging } from './utils/get-serve-logging';\nexport { HandlerProvider } from './utils/handler-provider';\nexport { RegularHelmet, HelmetContext } from './utils/regular-helmet';\nexport { SpecificExtras } from './utils/specific-extras';\n"],"mappings":"AASA,SAASA,uBAAuB,EAAEC,oBAAoB,QAAQ,gBAAa;;AAE3E;AACA,SAASC,qBAAqB,QAAQ,oCAAiC;AACvE,SAASC,WAAW,QAAQ,0BAAuB;AACnD,SAASC,mBAAmB,QAAQ,kCAA+B;AACnE,SAASC,cAAc,QAAQ,6BAA0B;AACzD,SAASC,qBAAqB,QAAQ,qCAAkC;AACxE,SAASC,oBAAoB,QAAQ,oCAAiC;AACtE,SAASC,eAAe,QAAQ,8BAA2B;AAC3D,SAASC,eAAe,QAAQ,6BAA0B;AAC1D,SAASC,aAAa,EAAEC,aAAa,QAAQ,2BAAwB;AACrE,SAASC,cAAc,QAAQ,4BAAyB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-middleware.js","names":["provideFetchMiddleware"],"sources":["../../../../../src/preset/server/providers/fetch-middleware.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Middleware } from '../../../http';\n\nexport function provideFetchMiddleware(): Middleware[] {\n // @todo добавить логирование ошибок?\n return [];\n}\n"],"mappings":"AAAA;;AAGA,OAAO,SAASA,sBAAsBA,CAAA,EAAiB;EACrD;EACA,OAAO,EAAE;AACX"}
|
|
@@ -11,7 +11,9 @@ export function provideFormatPageResponse(resolve) {
|
|
|
11
11
|
const config = resolve(KnownToken.Config.base);
|
|
12
12
|
const acceptType = resolve(KnownToken.Http.Handler.Request.acceptType);
|
|
13
13
|
const elementToString = resolve(KnownToken.Http.Handler.Page.elementToString);
|
|
14
|
-
|
|
14
|
+
const extras = resolve(KnownToken.Http.Handler.Response.specificExtras);
|
|
15
|
+
return async (jsx, assets) => {
|
|
16
|
+
const meta = extras.getMeta();
|
|
15
17
|
const headers = new Headers();
|
|
16
18
|
let body;
|
|
17
19
|
switch (acceptType(PAGE_FORMAT_PRIORITY)) {
|
|
@@ -46,6 +48,7 @@ export function provideFormatPageResponse(resolve) {
|
|
|
46
48
|
|
|
47
49
|
// ВАЖНО: DOCTYPE обязательно нужен так как влияет на то как браузер будет парсить html/css
|
|
48
50
|
// ВАЖНО: DOCTYPE нужен только когда отдаем полноценную страницу
|
|
51
|
+
// @todo переделать на проверку параметра ?html-doctype=false
|
|
49
52
|
if (config.env === 'development') {
|
|
50
53
|
body = `<!DOCTYPE html>${await elementToString(jsx)}`;
|
|
51
54
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-page-response.js","names":["KnownToken","PAGE_FORMAT_PRIORITY","provideFormatPageResponse","resolve","config","Config","base","acceptType","Http","Handler","Request","elementToString","Page","jsx","assets","meta","headers","Headers","body","set","JSON","stringify","markup","bundle_js","js","bundle_css","css","critical_js","criticalJs","critical_css","criticalCss","env"],"sources":["../../../../../src/preset/server/providers/format-page-response.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport type { ConventionalJson } from '../../isomorphic';\nimport type { PageResponseFormatter } from '../types';\nimport { KnownToken } from '../../../tokens';\nimport { PAGE_FORMAT_PRIORITY } from '../constants';\n\n/**\n * Провайдер функции форматирования ответа.\n * Функция форматирования вернёт данные ответа на запрос страницы в нужном формате в зависимости от заголовка Accept.\n * @param resolve Резолвер.\n * @return Функция форматирования.\n */\nexport function provideFormatPageResponse(resolve: Resolve): PageResponseFormatter {\n const config = resolve(KnownToken.Config.base);\n const acceptType = resolve(KnownToken.Http.Handler.Request.acceptType);\n const elementToString = resolve(KnownToken.Http.Handler.Page.elementToString);\n\n return async (jsx, assets
|
|
1
|
+
{"version":3,"file":"format-page-response.js","names":["KnownToken","PAGE_FORMAT_PRIORITY","provideFormatPageResponse","resolve","config","Config","base","acceptType","Http","Handler","Request","elementToString","Page","extras","Response","specificExtras","jsx","assets","meta","getMeta","headers","Headers","body","set","JSON","stringify","markup","bundle_js","js","bundle_css","css","critical_js","criticalJs","critical_css","criticalCss","env"],"sources":["../../../../../src/preset/server/providers/format-page-response.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport type { ConventionalJson } from '../../isomorphic';\nimport type { PageResponseFormatter } from '../types';\nimport { KnownToken } from '../../../tokens';\nimport { PAGE_FORMAT_PRIORITY } from '../constants';\n\n/**\n * Провайдер функции форматирования ответа.\n * Функция форматирования вернёт данные ответа на запрос страницы в нужном формате в зависимости от заголовка Accept.\n * @param resolve Резолвер.\n * @return Функция форматирования.\n */\nexport function provideFormatPageResponse(resolve: Resolve): PageResponseFormatter {\n const config = resolve(KnownToken.Config.base);\n const acceptType = resolve(KnownToken.Http.Handler.Request.acceptType);\n const elementToString = resolve(KnownToken.Http.Handler.Page.elementToString);\n const extras = resolve(KnownToken.Http.Handler.Response.specificExtras);\n\n return async (jsx, assets) => {\n const meta = extras.getMeta();\n const headers = new Headers();\n\n let body: string;\n\n switch (acceptType(PAGE_FORMAT_PRIORITY)) {\n case 'json': {\n headers.set('content-type', 'application/json');\n\n body = JSON.stringify({\n markup: await elementToString(jsx),\n bundle_js: assets.js,\n bundle_css: assets.css,\n critical_js: assets.criticalJs,\n critical_css: assets.criticalCss,\n meta,\n } satisfies ConventionalJson);\n\n break;\n }\n\n case 'html':\n default: {\n headers.set('content-type', 'text/html');\n headers.set('simaland-bundle-js', assets.js);\n headers.set('simaland-bundle-css', assets.css);\n\n if (assets.criticalJs) {\n headers.set('simaland-critical-js', assets.criticalJs);\n }\n\n if (assets.criticalCss) {\n headers.set('simaland-critical-css', assets.criticalCss);\n }\n\n if (meta) {\n headers.set('simaland-meta', JSON.stringify(meta));\n }\n\n // ВАЖНО: DOCTYPE обязательно нужен так как влияет на то как браузер будет парсить html/css\n // ВАЖНО: DOCTYPE нужен только когда отдаем полноценную страницу\n // @todo переделать на проверку параметра ?html-doctype=false\n if (config.env === 'development') {\n body = `<!DOCTYPE html>${await elementToString(jsx)}`;\n } else {\n body = await elementToString(jsx);\n }\n\n break;\n }\n }\n\n return { body, headers };\n };\n}\n"],"mappings":"AAGA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,oBAAoB,QAAQ,iBAAc;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,yBAAyBA,CAACC,OAAgB,EAAyB;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACH,UAAU,CAACK,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,UAAU,GAAGJ,OAAO,CAACH,UAAU,CAACQ,IAAI,CAACC,OAAO,CAACC,OAAO,CAACH,UAAU,CAAC;EACtE,MAAMI,eAAe,GAAGR,OAAO,CAACH,UAAU,CAACQ,IAAI,CAACC,OAAO,CAACG,IAAI,CAACD,eAAe,CAAC;EAC7E,MAAME,MAAM,GAAGV,OAAO,CAACH,UAAU,CAACQ,IAAI,CAACC,OAAO,CAACK,QAAQ,CAACC,cAAc,CAAC;EAEvE,OAAO,OAAOC,GAAG,EAAEC,MAAM,KAAK;IAC5B,MAAMC,IAAI,GAAGL,MAAM,CAACM,OAAO,CAAC,CAAC;IAC7B,MAAMC,OAAO,GAAG,IAAIC,OAAO,CAAC,CAAC;IAE7B,IAAIC,IAAY;IAEhB,QAAQf,UAAU,CAACN,oBAAoB,CAAC;MACtC,KAAK,MAAM;QAAE;UACXmB,OAAO,CAACG,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;UAE/CD,IAAI,GAAGE,IAAI,CAACC,SAAS,CAAC;YACpBC,MAAM,EAAE,MAAMf,eAAe,CAACK,GAAG,CAAC;YAClCW,SAAS,EAAEV,MAAM,CAACW,EAAE;YACpBC,UAAU,EAAEZ,MAAM,CAACa,GAAG;YACtBC,WAAW,EAAEd,MAAM,CAACe,UAAU;YAC9BC,YAAY,EAAEhB,MAAM,CAACiB,WAAW;YAChChB;UACF,CAA4B,CAAC;UAE7B;QACF;MAEA,KAAK,MAAM;MACX;QAAS;UACPE,OAAO,CAACG,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC;UACxCH,OAAO,CAACG,GAAG,CAAC,oBAAoB,EAAEN,MAAM,CAACW,EAAE,CAAC;UAC5CR,OAAO,CAACG,GAAG,CAAC,qBAAqB,EAAEN,MAAM,CAACa,GAAG,CAAC;UAE9C,IAAIb,MAAM,CAACe,UAAU,EAAE;YACrBZ,OAAO,CAACG,GAAG,CAAC,sBAAsB,EAAEN,MAAM,CAACe,UAAU,CAAC;UACxD;UAEA,IAAIf,MAAM,CAACiB,WAAW,EAAE;YACtBd,OAAO,CAACG,GAAG,CAAC,uBAAuB,EAAEN,MAAM,CAACiB,WAAW,CAAC;UAC1D;UAEA,IAAIhB,IAAI,EAAE;YACRE,OAAO,CAACG,GAAG,CAAC,eAAe,EAAEC,IAAI,CAACC,SAAS,CAACP,IAAI,CAAC,CAAC;UACpD;;UAEA;UACA;UACA;UACA,IAAId,MAAM,CAAC+B,GAAG,KAAK,aAAa,EAAE;YAChCb,IAAI,GAAI,kBAAiB,MAAMX,eAAe,CAACK,GAAG,CAAE,EAAC;UACvD,CAAC,MAAM;YACLM,IAAI,GAAG,MAAMX,eAAe,CAACK,GAAG,CAAC;UACnC;UAEA;QACF;IACF;IAEA,OAAO;MAAEM,IAAI;MAAEF;IAAQ,CAAC;EAC1B,CAAC;AACH"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
|
|
2
|
+
|
|
3
|
+
import { KnownToken } from "../../../tokens.js";
|
|
4
|
+
import { proxy } from "./../../../http/index.js";
|
|
5
|
+
import { router, applyMiddleware } from '@krutoo/fetch-tools';
|
|
6
|
+
import { applyServerMiddleware } from "../utils/apply-server-middleware.js";
|
|
7
|
+
export function provideServe(resolve) {
|
|
8
|
+
const config = resolve(KnownToken.Config.base);
|
|
9
|
+
const pageRoutes = resolve(KnownToken.Http.Serve.pageRoutes);
|
|
10
|
+
const serviceRoutes = resolve(KnownToken.Http.Serve.serviceRoutes);
|
|
11
|
+
const middleware = resolve(KnownToken.Http.Serve.middleware);
|
|
12
|
+
const proxyConfig = resolve(KnownToken.Http.Serve.Proxy.config);
|
|
13
|
+
const enhance = config.env === 'development' && proxyConfig ? applyMiddleware(...(Array.isArray(proxyConfig) ? proxyConfig.map(proxy) : [proxy(proxyConfig)])) : identity;
|
|
14
|
+
const builder = router.builder();
|
|
15
|
+
|
|
16
|
+
// маршруты с промежуточными слоями
|
|
17
|
+
for (const [pattern, handler] of pageRoutes) {
|
|
18
|
+
const path = typeof pattern === 'string' ? pattern : pattern.path;
|
|
19
|
+
const method = typeof pattern === 'string' ? 'get' : pattern.method;
|
|
20
|
+
const pageHandler = applyServerMiddleware(...middleware)(handler);
|
|
21
|
+
builder[method](path, request => pageHandler(request, {
|
|
22
|
+
events: new EventTarget()
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// служебные маршруты (к ним не применяются промежуточные слои)
|
|
27
|
+
for (const [pattern, handler] of serviceRoutes) {
|
|
28
|
+
const path = typeof pattern === 'string' ? pattern : pattern.path;
|
|
29
|
+
const method = typeof pattern === 'string' ? 'get' : pattern.method;
|
|
30
|
+
builder[method](path, request => handler(request, {
|
|
31
|
+
events: new EventTarget()
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// @todo также добавить apiRoutes?
|
|
36
|
+
return enhance(builder.build());
|
|
37
|
+
}
|
|
38
|
+
function identity(value) {
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=serve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.js","names":["KnownToken","proxy","router","applyMiddleware","applyServerMiddleware","provideServe","resolve","config","Config","base","pageRoutes","Http","Serve","serviceRoutes","middleware","proxyConfig","Proxy","enhance","env","Array","isArray","map","identity","builder","pattern","handler","path","method","pageHandler","request","events","EventTarget","build","value"],"sources":["../../../../../src/preset/server/providers/serve.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { Handler, proxy } from '../../../http';\nimport { router, applyMiddleware } from '@krutoo/fetch-tools';\nimport { applyServerMiddleware } from '../utils/apply-server-middleware';\n\nexport function provideServe(resolve: Resolve): Handler {\n const config = resolve(KnownToken.Config.base);\n const pageRoutes = resolve(KnownToken.Http.Serve.pageRoutes);\n const serviceRoutes = resolve(KnownToken.Http.Serve.serviceRoutes);\n const middleware = resolve(KnownToken.Http.Serve.middleware);\n const proxyConfig = resolve(KnownToken.Http.Serve.Proxy.config);\n\n const enhance =\n config.env === 'development' && proxyConfig\n ? applyMiddleware(\n ...(Array.isArray(proxyConfig) ? proxyConfig.map(proxy) : [proxy(proxyConfig)]),\n )\n : identity;\n\n const builder = router.builder();\n\n // маршруты с промежуточными слоями\n for (const [pattern, handler] of pageRoutes) {\n const path = typeof pattern === 'string' ? pattern : pattern.path;\n const method = typeof pattern === 'string' ? 'get' : pattern.method;\n const pageHandler = applyServerMiddleware(...middleware)(handler);\n\n builder[method](path, request => pageHandler(request, { events: new EventTarget() }));\n }\n\n // служебные маршруты (к ним не применяются промежуточные слои)\n for (const [pattern, handler] of serviceRoutes) {\n const path = typeof pattern === 'string' ? pattern : pattern.path;\n const method = typeof pattern === 'string' ? 'get' : pattern.method;\n\n builder[method](path, request => handler(request, { events: new EventTarget() }));\n }\n\n // @todo также добавить apiRoutes?\n return enhance(builder.build());\n}\n\nfunction identity<T>(value: T): T {\n return value;\n}\n"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAAkBC,KAAK,QAAQ,0BAAe;AAC9C,SAASC,MAAM,EAAEC,eAAe,QAAQ,qBAAqB;AAC7D,SAASC,qBAAqB,QAAQ,qCAAkC;AAExE,OAAO,SAASC,YAAYA,CAACC,OAAgB,EAAW;EACtD,MAAMC,MAAM,GAAGD,OAAO,CAACN,UAAU,CAACQ,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,UAAU,GAAGJ,OAAO,CAACN,UAAU,CAACW,IAAI,CAACC,KAAK,CAACF,UAAU,CAAC;EAC5D,MAAMG,aAAa,GAAGP,OAAO,CAACN,UAAU,CAACW,IAAI,CAACC,KAAK,CAACC,aAAa,CAAC;EAClE,MAAMC,UAAU,GAAGR,OAAO,CAACN,UAAU,CAACW,IAAI,CAACC,KAAK,CAACE,UAAU,CAAC;EAC5D,MAAMC,WAAW,GAAGT,OAAO,CAACN,UAAU,CAACW,IAAI,CAACC,KAAK,CAACI,KAAK,CAACT,MAAM,CAAC;EAE/D,MAAMU,OAAO,GACXV,MAAM,CAACW,GAAG,KAAK,aAAa,IAAIH,WAAW,GACvCZ,eAAe,CACb,IAAIgB,KAAK,CAACC,OAAO,CAACL,WAAW,CAAC,GAAGA,WAAW,CAACM,GAAG,CAACpB,KAAK,CAAC,GAAG,CAACA,KAAK,CAACc,WAAW,CAAC,CAAC,CAChF,CAAC,GACDO,QAAQ;EAEd,MAAMC,OAAO,GAAGrB,MAAM,CAACqB,OAAO,CAAC,CAAC;;EAEhC;EACA,KAAK,MAAM,CAACC,OAAO,EAAEC,OAAO,CAAC,IAAIf,UAAU,EAAE;IAC3C,MAAMgB,IAAI,GAAG,OAAOF,OAAO,KAAK,QAAQ,GAAGA,OAAO,GAAGA,OAAO,CAACE,IAAI;IACjE,MAAMC,MAAM,GAAG,OAAOH,OAAO,KAAK,QAAQ,GAAG,KAAK,GAAGA,OAAO,CAACG,MAAM;IACnE,MAAMC,WAAW,GAAGxB,qBAAqB,CAAC,GAAGU,UAAU,CAAC,CAACW,OAAO,CAAC;IAEjEF,OAAO,CAACI,MAAM,CAAC,CAACD,IAAI,EAAEG,OAAO,IAAID,WAAW,CAACC,OAAO,EAAE;MAAEC,MAAM,EAAE,IAAIC,WAAW,CAAC;IAAE,CAAC,CAAC,CAAC;EACvF;;EAEA;EACA,KAAK,MAAM,CAACP,OAAO,EAAEC,OAAO,CAAC,IAAIZ,aAAa,EAAE;IAC9C,MAAMa,IAAI,GAAG,OAAOF,OAAO,KAAK,QAAQ,GAAGA,OAAO,GAAGA,OAAO,CAACE,IAAI;IACjE,MAAMC,MAAM,GAAG,OAAOH,OAAO,KAAK,QAAQ,GAAG,KAAK,GAAGA,OAAO,CAACG,MAAM;IAEnEJ,OAAO,CAACI,MAAM,CAAC,CAACD,IAAI,EAAEG,OAAO,IAAIJ,OAAO,CAACI,OAAO,EAAE;MAAEC,MAAM,EAAE,IAAIC,WAAW,CAAC;IAAE,CAAC,CAAC,CAAC;EACnF;;EAEA;EACA,OAAOd,OAAO,CAACM,OAAO,CAACS,KAAK,CAAC,CAAC,CAAC;AACjC;AAEA,SAASV,QAAQA,CAAIW,KAAQ,EAAK;EAChC,OAAOA,KAAK;AACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/preset/server/types.ts"],"sourcesContent":["import type { PageAssets } from '../isomorphic';\n\n/**\n * На сервере между промежуточными слоями надо обмениваться данными поэтому появился такой интерфейс.\n * Возможно в будущем он перейдет в `@krutoo/fetch-tools`.\n */\nexport interface ServerHandlerContext {\n events: EventTarget;\n}\n\nexport interface ServerHandler {\n (request: Request, context: ServerHandlerContext): Response | Promise<Response>;\n}\n\nexport interface ServerEnhancer {\n (request: ServerHandler): ServerHandler;\n}\n\nexport interface ServerMiddleware {\n (\n request: Request,\n next: (req: Request, ctx?: ServerHandlerContext) => Response | Promise<Response>,\n context: ServerHandlerContext,\n ): Response | Promise<Response>;\n}\n\nexport interface PageResponseFormatResult {\n body: string;\n headers: Headers;\n}\n\nexport interface PageResponseFormatter {\n (\n jsx: JSX.Element,\n assets: PageAssets,\n
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/preset/server/types.ts"],"sourcesContent":["import type { PageAssets } from '../isomorphic';\n\n/**\n * На сервере между промежуточными слоями надо обмениваться данными поэтому появился такой интерфейс.\n * Возможно в будущем он перейдет в `@krutoo/fetch-tools`.\n */\nexport interface ServerHandlerContext {\n events: EventTarget;\n}\n\nexport interface ServerHandler {\n (request: Request, context: ServerHandlerContext): Response | Promise<Response>;\n}\n\nexport interface ServerEnhancer {\n (request: ServerHandler): ServerHandler;\n}\n\nexport interface ServerMiddleware {\n (\n request: Request,\n next: (req: Request, ctx?: ServerHandlerContext) => Response | Promise<Response>,\n context: ServerHandlerContext,\n ): Response | Promise<Response>;\n}\n\nexport interface PageResponseFormatResult {\n body: string;\n headers: Headers;\n}\n\nexport interface PageResponseFormatter {\n (\n jsx: JSX.Element,\n assets: PageAssets,\n ): PageResponseFormatResult | Promise<PageResponseFormatResult>;\n}\n\nexport interface RenderToString {\n (jsx: JSX.Element): string | Promise<string>;\n}\n\nexport interface RouteInfo {\n method: 'all' | 'get' | 'post' | 'put' | 'delete' | 'patch' | 'options' | 'head';\n path: string;\n}\n\nexport type RouteList = Array<[string | RouteInfo, ServerHandler]>;\n"],"mappings":""}
|
|
@@ -18,6 +18,12 @@ export function getForwardedHeaders(config, request) {
|
|
|
18
18
|
result.set('X-Client-Ip', clientIp);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
// cookie
|
|
22
|
+
const cookie = request.headers.get('cookie');
|
|
23
|
+
if (cookie) {
|
|
24
|
+
result.set('cookie', cookie);
|
|
25
|
+
}
|
|
26
|
+
|
|
21
27
|
// service headers
|
|
22
28
|
request.headers.forEach((headerValue, headerName) => {
|
|
23
29
|
if (headerName.toLowerCase().startsWith('simaland-') && headerName.toLowerCase() !== 'simaland-params') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-forwarded-headers.js","names":["getClientIp","getForwardedHeaders","config","request","result","Headers","set","appName","appVersion","clientIp","headers","forEach","headerValue","headerName","toLowerCase","startsWith"],"sources":["../../../../../src/preset/server/utils/get-forwarded-headers.ts"],"sourcesContent":["import type { BaseConfig } from '../../../config';\nimport { getClientIp } from './get-client-ip';\n\n/**\n * Вернет заголовки, которые должны содержаться в исходящих http-запросах при обработке входящего http-запроса.\n * @param config Конфигурация.\n * @param request Входящий запрос.\n * @return Заголовки.\n */\nexport function getForwardedHeaders(config: BaseConfig, request: Request): Headers {\n const result = new Headers();\n\n // user agent\n result.set('User-Agent', `simaland-${config.appName}/${config.appVersion}`);\n\n // client ip\n const clientIp = getClientIp(request);\n
|
|
1
|
+
{"version":3,"file":"get-forwarded-headers.js","names":["getClientIp","getForwardedHeaders","config","request","result","Headers","set","appName","appVersion","clientIp","cookie","headers","get","forEach","headerValue","headerName","toLowerCase","startsWith"],"sources":["../../../../../src/preset/server/utils/get-forwarded-headers.ts"],"sourcesContent":["import type { BaseConfig } from '../../../config';\nimport { getClientIp } from './get-client-ip';\n\n/**\n * Вернет заголовки, которые должны содержаться в исходящих http-запросах при обработке входящего http-запроса.\n * @param config Конфигурация.\n * @param request Входящий запрос.\n * @return Заголовки.\n */\nexport function getForwardedHeaders(config: BaseConfig, request: Request): Headers {\n const result = new Headers();\n\n // user agent\n result.set('User-Agent', `simaland-${config.appName}/${config.appVersion}`);\n\n // client ip\n const clientIp = getClientIp(request);\n if (clientIp) {\n result.set('X-Client-Ip', clientIp);\n }\n\n // cookie\n const cookie = request.headers.get('cookie');\n if (cookie) {\n result.set('cookie', cookie);\n }\n\n // service headers\n request.headers.forEach((headerValue, headerName) => {\n if (\n headerName.toLowerCase().startsWith('simaland-') &&\n headerName.toLowerCase() !== 'simaland-params'\n ) {\n result.set(headerName, headerValue);\n }\n });\n\n return result;\n}\n"],"mappings":"AACA,SAASA,WAAW,QAAQ,oBAAiB;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAACC,MAAkB,EAAEC,OAAgB,EAAW;EACjF,MAAMC,MAAM,GAAG,IAAIC,OAAO,CAAC,CAAC;;EAE5B;EACAD,MAAM,CAACE,GAAG,CAAC,YAAY,EAAG,YAAWJ,MAAM,CAACK,OAAQ,IAAGL,MAAM,CAACM,UAAW,EAAC,CAAC;;EAE3E;EACA,MAAMC,QAAQ,GAAGT,WAAW,CAACG,OAAO,CAAC;EACrC,IAAIM,QAAQ,EAAE;IACZL,MAAM,CAACE,GAAG,CAAC,aAAa,EAAEG,QAAQ,CAAC;EACrC;;EAEA;EACA,MAAMC,MAAM,GAAGP,OAAO,CAACQ,OAAO,CAACC,GAAG,CAAC,QAAQ,CAAC;EAC5C,IAAIF,MAAM,EAAE;IACVN,MAAM,CAACE,GAAG,CAAC,QAAQ,EAAEI,MAAM,CAAC;EAC9B;;EAEA;EACAP,OAAO,CAACQ,OAAO,CAACE,OAAO,CAAC,CAACC,WAAW,EAAEC,UAAU,KAAK;IACnD,IACEA,UAAU,CAACC,WAAW,CAAC,CAAC,CAACC,UAAU,CAAC,WAAW,CAAC,IAChDF,UAAU,CAACC,WAAW,CAAC,CAAC,KAAK,iBAAiB,EAC9C;MACAZ,MAAM,CAACE,GAAG,CAACS,UAAU,EAAED,WAAW,CAAC;IACrC;EACF,CAAC,CAAC;EAEF,OAAOV,MAAM;AACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-page-response-format.js","names":["getPageResponseFormat","request","result","headers","get","toLowerCase","includes"],"sources":["../../../../../src/preset/server/utils/get-page-response-format.ts"],"sourcesContent":["/**\n * Определяет формат ответа для страницы (html-верстки).\n * Вернет \"json\" - если заголовок запроса \"accept\" содержит \"application/json\".\n * Вернет \"html\" во всех остальных случаях.\n * @param request Запрос.\n * @return Формат.\n */\nexport function getPageResponseFormat(request: Request): 'html' | 'json' {\n let result: 'html' | 'json' = 'html';\n\n if ((request.headers.get('accept') || '').toLowerCase().includes('application/json')) {\n result = 'json';\n }\n\n return result;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,qBAAqBA,CAACC,OAAgB,EAAmB;EACvE,IAAIC,MAAuB,GAAG,MAAM;EAEpC,IAAI,CAACD,OAAO,CAACE,OAAO,CAACC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAEC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;IACpFJ,MAAM,GAAG,MAAM;EACjB;EAEA,OAAOA,MAAM;AACf"}
|
|
1
|
+
{"version":3,"file":"get-page-response-format.js","names":["getPageResponseFormat","request","result","headers","get","toLowerCase","includes"],"sources":["../../../../../src/preset/server/utils/get-page-response-format.ts"],"sourcesContent":["/**\n * Определяет формат ответа для страницы (html-верстки).\n * Вернет \"json\" - если заголовок запроса \"accept\" содержит \"application/json\".\n * Вернет \"html\" во всех остальных случаях.\n * @param request Запрос.\n * @return Формат.\n * @deprecated Стоит использовать npm:accepts.\n */\nexport function getPageResponseFormat(request: Request): 'html' | 'json' {\n let result: 'html' | 'json' = 'html';\n\n if ((request.headers.get('accept') || '').toLowerCase().includes('application/json')) {\n result = 'json';\n }\n\n return result;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,qBAAqBA,CAACC,OAAgB,EAAmB;EACvE,IAAIC,MAAuB,GAAG,MAAM;EAEpC,IAAI,CAACD,OAAO,CAACE,OAAO,CAACC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAEC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;IACpFJ,MAAM,GAAG,MAAM;EACjB;EAEA,OAAOA,MAAM;AACf"}
|
|
@@ -14,7 +14,7 @@ export function getServeErrorLogging(logger) {
|
|
|
14
14
|
}) => {
|
|
15
15
|
logger.error(new DetailedError(String(error), {
|
|
16
16
|
level: 'error',
|
|
17
|
-
context:
|
|
17
|
+
context: {
|
|
18
18
|
key: 'Incoming request details',
|
|
19
19
|
data: {
|
|
20
20
|
url: FetchUtil.withoutParams(request.url),
|
|
@@ -23,7 +23,7 @@ export function getServeErrorLogging(logger) {
|
|
|
23
23
|
params: Object.fromEntries(new URL(request.url).searchParams.entries())
|
|
24
24
|
// @todo data
|
|
25
25
|
}
|
|
26
|
-
}
|
|
26
|
+
}
|
|
27
27
|
}));
|
|
28
28
|
}
|
|
29
29
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-serve-error-logging.js","names":["FetchUtil","log","DetailedError","getServeErrorLogging","logger","onCatch","request","error","String","level","context","key","data","url","withoutParams","method","headers","Object","fromEntries","entries","params","URL","searchParams"],"sources":["../../../../../src/preset/server/utils/get-serve-error-logging.ts"],"sourcesContent":["import { FetchUtil, log, type Middleware } from '../../../http';\nimport { DetailedError, type Logger } from '../../../log';\n\n/**\n * Возвращает новый промежуточный слой для логирования ошибки при обработке входящего http-запроса.\n * @param logger Logger.\n * @return Промежуточный слой.\n */\nexport function getServeErrorLogging(logger: Logger): Middleware {\n return log({\n onCatch: ({ request, error }) => {\n logger.error(\n new DetailedError(String(error), {\n level: 'error',\n context:
|
|
1
|
+
{"version":3,"file":"get-serve-error-logging.js","names":["FetchUtil","log","DetailedError","getServeErrorLogging","logger","onCatch","request","error","String","level","context","key","data","url","withoutParams","method","headers","Object","fromEntries","entries","params","URL","searchParams"],"sources":["../../../../../src/preset/server/utils/get-serve-error-logging.ts"],"sourcesContent":["import { FetchUtil, log, type Middleware } from '../../../http';\nimport { DetailedError, type Logger } from '../../../log';\n\n/**\n * Возвращает новый промежуточный слой для логирования ошибки при обработке входящего http-запроса.\n * @param logger Logger.\n * @return Промежуточный слой.\n */\nexport function getServeErrorLogging(logger: Logger): Middleware {\n return log({\n onCatch: ({ request, error }) => {\n logger.error(\n new DetailedError(String(error), {\n level: 'error',\n context: {\n key: 'Incoming request details',\n data: {\n url: FetchUtil.withoutParams(request.url),\n method: request.method,\n headers: Object.fromEntries(request.headers.entries()),\n params: Object.fromEntries(new URL(request.url).searchParams.entries()),\n // @todo data\n },\n },\n }),\n );\n },\n });\n}\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,GAAG,QAAyB,0BAAe;AAC/D,SAASC,aAAa,QAAqB,yBAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAACC,MAAc,EAAc;EAC/D,OAAOH,GAAG,CAAC;IACTI,OAAO,EAAEA,CAAC;MAAEC,OAAO;MAAEC;IAAM,CAAC,KAAK;MAC/BH,MAAM,CAACG,KAAK,CACV,IAAIL,aAAa,CAACM,MAAM,CAACD,KAAK,CAAC,EAAE;QAC/BE,KAAK,EAAE,OAAO;QACdC,OAAO,EAAE;UACPC,GAAG,EAAE,0BAA0B;UAC/BC,IAAI,EAAE;YACJC,GAAG,EAAEb,SAAS,CAACc,aAAa,CAACR,OAAO,CAACO,GAAG,CAAC;YACzCE,MAAM,EAAET,OAAO,CAACS,MAAM;YACtBC,OAAO,EAAEC,MAAM,CAACC,WAAW,CAACZ,OAAO,CAACU,OAAO,CAACG,OAAO,CAAC,CAAC,CAAC;YACtDC,MAAM,EAAEH,MAAM,CAACC,WAAW,CAAC,IAAIG,GAAG,CAACf,OAAO,CAACO,GAAG,CAAC,CAACS,YAAY,CAACH,OAAO,CAAC,CAAC;YACtE;UACF;QACF;MACF,CAAC,CACH,CAAC;IACH;EACF,CAAC,CAAC;AACJ"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { toMilliseconds } from "./../../../utils/index.js";
|
|
2
1
|
import { getClientIp } from "./get-client-ip.js";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -8,7 +7,7 @@ import { getClientIp } from "./get-client-ip.js";
|
|
|
8
7
|
*/
|
|
9
8
|
export function getServeLogging(logger) {
|
|
10
9
|
return async (request, next) => {
|
|
11
|
-
const start =
|
|
10
|
+
const start = performance.now();
|
|
12
11
|
const clientIp = getClientIp(request);
|
|
13
12
|
logger.info({
|
|
14
13
|
type: 'http.request[incoming]',
|
|
@@ -17,14 +16,14 @@ export function getServeLogging(logger) {
|
|
|
17
16
|
remote_ip: clientIp
|
|
18
17
|
});
|
|
19
18
|
const response = await next(request);
|
|
20
|
-
const finish =
|
|
19
|
+
const finish = performance.now();
|
|
21
20
|
logger.info({
|
|
22
21
|
type: 'http.response[outgoing]',
|
|
23
22
|
route: request.url,
|
|
24
23
|
method: request.method,
|
|
25
24
|
status: response.status,
|
|
26
25
|
remote_ip: clientIp,
|
|
27
|
-
latency:
|
|
26
|
+
latency: finish - start
|
|
28
27
|
});
|
|
29
28
|
return response;
|
|
30
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-serve-logging.js","names":["
|
|
1
|
+
{"version":3,"file":"get-serve-logging.js","names":["getClientIp","getServeLogging","logger","request","next","start","performance","now","clientIp","info","type","route","url","method","remote_ip","response","finish","status","latency"],"sources":["../../../../../src/preset/server/utils/get-serve-logging.ts"],"sourcesContent":["import type { Middleware } from '../../../http';\nimport type { Logger } from '../../../log';\nimport { getClientIp } from './get-client-ip';\n\n/**\n * Возвращает новый промежуточный слой для логирования обработки входящего http-запроса.\n * @param logger Logger.\n * @return Промежуточный слой.\n */\nexport function getServeLogging(logger: Logger): Middleware {\n return async (request, next) => {\n const start = performance.now();\n const clientIp = getClientIp(request);\n\n logger.info({\n type: 'http.request[incoming]',\n route: request.url,\n method: request.method,\n remote_ip: clientIp,\n });\n\n const response = await next(request);\n\n const finish = performance.now();\n\n logger.info({\n type: 'http.response[outgoing]',\n route: request.url,\n method: request.method,\n status: response.status,\n remote_ip: clientIp,\n latency: finish - start,\n });\n\n return response;\n };\n}\n"],"mappings":"AAEA,SAASA,WAAW,QAAQ,oBAAiB;;AAE7C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,MAAc,EAAc;EAC1D,OAAO,OAAOC,OAAO,EAAEC,IAAI,KAAK;IAC9B,MAAMC,KAAK,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;IAC/B,MAAMC,QAAQ,GAAGR,WAAW,CAACG,OAAO,CAAC;IAErCD,MAAM,CAACO,IAAI,CAAC;MACVC,IAAI,EAAE,wBAAwB;MAC9BC,KAAK,EAAER,OAAO,CAACS,GAAG;MAClBC,MAAM,EAAEV,OAAO,CAACU,MAAM;MACtBC,SAAS,EAAEN;IACb,CAAC,CAAC;IAEF,MAAMO,QAAQ,GAAG,MAAMX,IAAI,CAACD,OAAO,CAAC;IAEpC,MAAMa,MAAM,GAAGV,WAAW,CAACC,GAAG,CAAC,CAAC;IAEhCL,MAAM,CAACO,IAAI,CAAC;MACVC,IAAI,EAAE,yBAAyB;MAC/BC,KAAK,EAAER,OAAO,CAACS,GAAG;MAClBC,MAAM,EAAEV,OAAO,CAACU,MAAM;MACtBI,MAAM,EAAEF,QAAQ,CAACE,MAAM;MACvBH,SAAS,EAAEN,QAAQ;MACnBU,OAAO,EAAEF,MAAM,GAAGX;IACpB,CAAC,CAAC;IAEF,OAAOU,QAAQ;EACjB,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axios-middleware.js","names":["KnownToken","HttpStatus","logMiddleware","provideAxiosMiddleware","resolve","logHandler","Axios","Middleware","Log","handler","axiosMiddleware"],"sources":["../../../../../src/preset/web/providers/axios-middleware.ts"],"sourcesContent":["import { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { HttpStatus } from '../../isomorphic/utils/http-status';\nimport { logMiddleware } from '../../../utils/axios';\n\n/**\n * Провайдер фабрики http-клиентов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Фабрика.\n */\nexport function provideAxiosMiddleware(resolve: Resolve) {\n const logHandler = resolve(KnownToken.Axios.Middleware.Log.handler);\n\n return [HttpStatus.axiosMiddleware(), logMiddleware(logHandler)];\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"axios-middleware.js","names":["KnownToken","HttpStatus","logMiddleware","provideAxiosMiddleware","resolve","logHandler","Axios","Middleware","Log","handler","axiosMiddleware"],"sources":["../../../../../src/preset/web/providers/axios-middleware.ts"],"sourcesContent":["import type { Middleware } from 'middleware-axios';\nimport type { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { HttpStatus } from '../../isomorphic/utils/http-status';\nimport { logMiddleware } from '../../../utils/axios';\n\n/**\n * Провайдер фабрики http-клиентов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Фабрика.\n */\nexport function provideAxiosMiddleware(resolve: Resolve): Middleware<unknown>[] {\n const logHandler = resolve(KnownToken.Axios.Middleware.Log.handler);\n\n return [HttpStatus.axiosMiddleware(), logMiddleware(logHandler)];\n}\n"],"mappings":"AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,UAAU,QAAQ,uCAAoC;AAC/D,SAASC,aAAa,QAAQ,iCAAsB;;AAEpD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAAyB;EAC9E,MAAMC,UAAU,GAAGD,OAAO,CAACJ,UAAU,CAACM,KAAK,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EAEnE,OAAO,CAACR,UAAU,CAACS,eAAe,CAAC,CAAC,EAAER,aAAa,CAACG,UAAU,CAAC,CAAC;AAClE"}
|
package/dist/esm/tokens.js
CHANGED
|
@@ -28,7 +28,7 @@ export const KnownToken = {
|
|
|
28
28
|
},
|
|
29
29
|
/** Токены компонентов сбора метрик. */
|
|
30
30
|
Metrics: {
|
|
31
|
-
|
|
31
|
+
expressApp: createToken('metrics/express-app'),
|
|
32
32
|
httpHandler: createToken('metrics/http-handler')
|
|
33
33
|
},
|
|
34
34
|
/** Токены компонентов для работы по HTTP. */
|
|
@@ -44,8 +44,6 @@ export const KnownToken = {
|
|
|
44
44
|
Fetch: {
|
|
45
45
|
/** Токен AbortController для функции fetch. */
|
|
46
46
|
abortController: createToken('fetch/abort-controller'),
|
|
47
|
-
/** Токен хранилища cookie. */
|
|
48
|
-
cookieStore: createToken('fetch/cookie-store'),
|
|
49
47
|
/** Токен списка промежуточных слоев для функции fetch. */
|
|
50
48
|
middleware: createToken('fetch/middleware'),
|
|
51
49
|
/** Токены компонентов промежуточных слоев для функции fetch. */
|
|
@@ -62,11 +60,14 @@ export const KnownToken = {
|
|
|
62
60
|
/** Токены компонентов функции обработки входящего HTTP-запроса. */
|
|
63
61
|
Serve: {
|
|
64
62
|
/** Токен списка маршрутов. */
|
|
65
|
-
|
|
63
|
+
pageRoutes: createToken('serve/page-routes'),
|
|
66
64
|
/** Токен списка "служебных" маршрутов. К "служебным" маршрутам не применяются промежуточные слои. */
|
|
67
65
|
serviceRoutes: createToken('serve/service-routes'),
|
|
68
66
|
/** Токен списка промежуточных слоев обработки входящего HTTP-запроса. */
|
|
69
|
-
middleware: createToken('serve/middleware')
|
|
67
|
+
middleware: createToken('serve/middleware'),
|
|
68
|
+
Proxy: {
|
|
69
|
+
config: createToken('proxy/config')
|
|
70
|
+
}
|
|
70
71
|
},
|
|
71
72
|
/** Токены компонентов обработчиков входящих HTTP-запросов. */
|
|
72
73
|
Handler: {
|
|
@@ -120,6 +121,16 @@ export const KnownToken = {
|
|
|
120
121
|
},
|
|
121
122
|
/** Токены компонентов для работы с библиотекой express. */
|
|
122
123
|
Express: {
|
|
124
|
+
/** Токен основного express-приложения. */
|
|
125
|
+
app: createToken('express/app'),
|
|
126
|
+
/** Токен списка маршрутов страниц. */
|
|
127
|
+
pageRoutes: createToken('express/page-routes'),
|
|
128
|
+
/** Токен списка служебных маршрутов. */
|
|
129
|
+
serviceRoutes: createToken('express/service-routes'),
|
|
130
|
+
/** Токен списка промежуточных слоев для публичных маршрутов. */
|
|
131
|
+
middleware: createToken('express/middleware'),
|
|
132
|
+
/** Токен списка промежуточных слоев для публичных маршрутов, которые подключаются после обработчика. */
|
|
133
|
+
endMiddleware: createToken('express/end-middleware'),
|
|
123
134
|
/** Токен фабрики express-приложений. */
|
|
124
135
|
factory: createToken('express/factory'),
|
|
125
136
|
/** Токен express-обработчиков. */
|
package/dist/esm/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","names":["createToken","KnownToken","Config","source","base","cache","logger","Tracing","tracer","spanExporter","tracerProvider","tracerProviderResource","Metrics","httpApp","httpHandler","Http","Api","knownHosts","fetch","Fetch","abortController","cookieStore","middleware","Middleware","Log","handler","serve","Serve","routes","serviceRoutes","Handler","main","context","Request","acceptType","specificParams","Response","events","specificExtras","Page","render","assets","helmet","elementToString","formatResponse","Axios","factory","Express","Handlers","healthCheck","request","log","tracing","metrics","error","ExpressHandler","Redux","saga","SsrBridge","clientSide","serverSide"],"sources":["../../src/tokens.ts"],"sourcesContent":["import { createToken } from './di';\n\n// ВАЖНО: чтобы токенами можно было пользоваться независимо от среды исполнения - импортировать надо только типы\nimport type * as express from 'express';\nimport type { ConfigSource, BaseConfig } from './config/types';\nimport type { Logger } from './log/types';\nimport type { Cache } from './cache/types';\nimport type { LogMiddlewareHandlerInit } from './utils/axios/middleware/log';\nimport type { SagaMiddleware } from 'redux-saga';\nimport type { BridgeClientSide, BridgeServerSide } from './utils/ssr';\nimport type { Tracer } from '@opentelemetry/api';\nimport type { BasicTracerProvider, SpanExporter } from '@opentelemetry/sdk-trace-base';\nimport type { Resource } from '@opentelemetry/resources';\nimport type { ElementType, ReactNode, JSX } from 'react';\nimport type { KnownHttpApiKey, PageAssets } from './preset/isomorphic/types';\nimport type { ExpressHandlerContext } from './preset/node/types';\nimport type { SpecificExtras } from './preset/server/utils/specific-extras';\nimport type { CreateAxiosDefaults } from 'axios';\nimport type { AxiosInstanceWrapper, Middleware as AxiosMiddleware } from 'middleware-axios';\nimport type { CookieStore, Handler, LogHandler, LogHandlerFactory, Middleware } from './http';\nimport type { HttpApiHostPool } from './preset/isomorphic/utils/http-api-host-pool';\nimport type {\n ServerHandlerContext,\n ServerHandler,\n ServerMiddleware,\n PageResponseFormatter,\n RenderToString,\n} from './preset/server/types';\n\n/**\n * Токены компонентов.\n * Данные токены используются в DI-пресетах, доступных из пакета.\n */\nexport const KnownToken = {\n /** Токены компонентов конфигурации приложения. */\n Config: {\n /** Токен \"источника конфигурации\". */\n source: createToken<ConfigSource>('config/source'),\n\n /** Токен базовой конфигурации. */\n base: createToken<BaseConfig>('config/base'),\n },\n\n /** Токен компонента кеша. */\n cache: createToken<Cache>('cache'),\n\n /** Токен компонента логгера. */\n logger: createToken<Logger>('logger'),\n\n /** Токены компонентов трассировки и телеметрии. */\n Tracing: {\n tracer: createToken<Tracer>('tracing/tracer'),\n spanExporter: createToken<SpanExporter>('tracing/span-exporter'),\n tracerProvider: createToken<BasicTracerProvider>('tracing/tracer-provider'),\n\n // @todo перенести в KnownToken.Telemetry.Resource?\n tracerProviderResource: createToken<Resource>('tracing/resource'),\n },\n\n /** Токены компонентов сбора метрик. */\n Metrics: {\n httpApp: createToken<express.Application>('metrics/http-app'),\n httpHandler: createToken<Handler>('metrics/http-handler'),\n },\n\n /** Токены компонентов для работы по HTTP. */\n Http: {\n /** Токены компонентов API. */\n Api: {\n /** Токен пула хостов известных HTTP API. */\n knownHosts: createToken<HttpApiHostPool<KnownHttpApiKey>>('http/api/known-hosts'),\n },\n\n /** Токен функции fetch. */\n fetch: createToken<typeof fetch>('fetch'),\n\n /** Токены компонентов формирующих работу функции fetch. */\n Fetch: {\n /** Токен AbortController для функции fetch. */\n abortController: createToken<AbortController>('fetch/abort-controller'),\n\n /** Токен хранилища cookie. */\n cookieStore: createToken<CookieStore>('fetch/cookie-store'),\n\n /** Токен списка промежуточных слоев для функции fetch. */\n middleware: createToken<Middleware[]>('fetch/middleware'),\n\n /** Токены компонентов промежуточных слоев для функции fetch. */\n Middleware: {\n /** Токены компонентов промежуточного слоя логирования. */\n Log: {\n /** Токены обработчика логирования работы функции fetch. */\n handler: createToken<LogHandler | LogHandlerFactory>('fetch/middleware/log/handler'),\n },\n },\n },\n\n /** Токен функции обработки входящего HTTP-запроса. */\n serve: createToken<Handler>('serve'),\n\n /** Токены компонентов функции обработки входящего HTTP-запроса. */\n Serve: {\n /** Токен списка маршрутов. */\n routes: createToken<Array<[string, ServerHandler]>>('serve/routes'),\n\n /** Токен списка \"служебных\" маршрутов. К \"служебным\" маршрутам не применяются промежуточные слои. */\n serviceRoutes: createToken<Array<[string, ServerHandler]>>('serve/service-routes'),\n\n /** Токен списка промежуточных слоев обработки входящего HTTP-запроса. */\n middleware: createToken<ServerMiddleware[]>('serve/middleware'),\n },\n\n /** Токены компонентов обработчиков входящих HTTP-запросов. */\n Handler: {\n /** Токен главной функции (точки входа) обработчика. */\n main: createToken<ServerHandler>('handler/main'),\n\n /** Токен \"контекста\" обработчика. Контекст содержит объект запроса а также реализует EventTarget. */\n context: createToken<ServerHandlerContext & { request: Request }>('handler/context'),\n\n /** Токен компонентов входящего запроса. */\n Request: {\n /** Токен функции которая определяет возможные типы ответа и их приоритет. */\n acceptType: createToken<(types: string[]) => string | string[] | false>('handler/accepts'),\n\n /** Токен \"специфичных\" параметров запроса. В зависимости от реализации определит параметры на основе объекта запроса. */\n specificParams: createToken<Record<string, unknown>>('request/specific-params'),\n },\n\n /** Токены компонентов исходящего ответа. */\n Response: {\n /** Токен объекта для подписки на события и вызова событий ответа. */\n events: createToken<EventTarget>('response/events'),\n\n /** Токен \"специфичных\" дополнительных данных. В зависимости от реализации сформирует дополнительные данные ответа. */\n specificExtras: createToken<SpecificExtras>('response/specific-extras'),\n },\n\n /** Токены компонентов HTML-документа, формируемого в рамках обработчика. */\n Page: {\n /** Токен рендер-функции. */\n render: createToken<() => JSX.Element | Promise<JSX.Element>>('page/render'),\n\n /** Токен ассетов HTML-документа. */\n assets: createToken<PageAssets | (() => PageAssets | Promise<PageAssets>)>('page/assets'),\n\n /** Токен \"шлема\". Шлем - UI-компонент, внутри которого будет выведен результат render-функции. */\n helmet: createToken<ElementType<{ children: ReactNode }>>('page/helmet'),\n\n /** Токен функции, получающей jsx и возвращающей строку. */\n elementToString: createToken<RenderToString>('page/element-to-string'),\n\n /** Токен функции, которая вернёт данные для ответа. */\n formatResponse: createToken<PageResponseFormatter>('page/format-response'),\n },\n },\n },\n\n /** Токены компонентов для работы с библиотекой axios. */\n Axios: {\n /** Токен фабрики экземпляров axios. Фабрика вернет расширенный экземпляр с возможностью применять промежуточные слои. */\n factory: createToken<(config?: CreateAxiosDefaults) => AxiosInstanceWrapper>('axios/factory'),\n\n /** Токен промежуточных слоев. */\n middleware: createToken<AxiosMiddleware<any>[]>('axios/middleware'),\n\n /** Токен компонентов промежуточных слоев. */\n Middleware: {\n /** Токен компонентов слоя логирования. */\n Log: {\n /** Токен обработчика логирования. */\n handler: createToken<LogMiddlewareHandlerInit>('axios/middleware/log/handler'),\n },\n },\n },\n\n /** Токены компонентов для работы с библиотекой express. */\n Express: {\n /** Токен фабрики express-приложений. */\n factory: createToken<() => express.Application>('express/factory'),\n\n /** Токен express-обработчиков. */\n Handlers: {\n /** Токен обработчика \"health check\". */\n healthCheck: createToken<express.Handler>('express/handler/health-check'),\n },\n\n /** Токены промежуточных слоев express-приложения. */\n Middleware: {\n request: createToken<express.Handler>('express/middleware/request'),\n log: createToken<express.Handler>('express/middleware/log'),\n tracing: createToken<express.Handler>('express/middleware/tracing'),\n metrics: createToken<express.Handler>('express/middleware/metrics'),\n error: createToken<express.ErrorRequestHandler>('express/middleware/error'),\n },\n },\n\n /** Токены компонентов express-обработчика. */\n ExpressHandler: {\n /** Токен главной функции (точки входа) обработчика. */\n main: createToken<express.Handler>('express-handler/main'),\n\n /** Токен \"контекста\" обработчика. Контекст содержит все аргументы, доступные обработчику (req, res, next). */\n context: createToken<ExpressHandlerContext>('express-handler/context'),\n },\n\n /** Токены компонентов для работы с библиотекой redux. */\n Redux: {\n /** Токены компонентов промежуточных слоев. */\n Middleware: {\n /** Токен промежуточного слоя redux-saga. */\n saga: createToken<SagaMiddleware>('saga-middleware'),\n },\n },\n\n /** Токены компонентов передачи данных страницы между клиентом и сервером. */\n SsrBridge: {\n /** Токены компонента \"клиентской стороны\". */\n clientSide: createToken<BridgeClientSide<unknown>>('ssr-bridge/client-side'),\n\n /** Токены компонента \"серверной стороны\". */\n serverSide: createToken<BridgeServerSide>('ssr-bridge/server-side'),\n },\n} as const;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tokens.js","names":["createToken","KnownToken","Config","source","base","cache","logger","Tracing","tracer","spanExporter","tracerProvider","tracerProviderResource","Metrics","expressApp","httpHandler","Http","Api","knownHosts","fetch","Fetch","abortController","middleware","Middleware","Log","handler","serve","Serve","pageRoutes","serviceRoutes","Proxy","config","Handler","main","context","Request","acceptType","specificParams","Response","events","specificExtras","Page","render","assets","helmet","elementToString","formatResponse","Axios","factory","Express","app","endMiddleware","Handlers","healthCheck","request","log","tracing","metrics","error","ExpressHandler","Redux","saga","SsrBridge","clientSide","serverSide"],"sources":["../../src/tokens.ts"],"sourcesContent":["import { createToken } from './di';\n\n// ВАЖНО: чтобы токенами можно было пользоваться независимо от среды исполнения - импортировать надо только типы\nimport type * as express from 'express';\nimport type { ConfigSource, BaseConfig } from './config/types';\nimport type { Logger } from './log/types';\nimport type { Cache } from './cache/types';\nimport type { LogMiddlewareHandlerInit } from './utils/axios/middleware/log';\nimport type { SagaMiddleware } from 'redux-saga';\nimport type { BridgeClientSide, BridgeServerSide } from './utils/ssr';\nimport type { Tracer } from '@opentelemetry/api';\nimport type { BasicTracerProvider, SpanExporter } from '@opentelemetry/sdk-trace-base';\nimport type { Resource } from '@opentelemetry/resources';\nimport type { ElementType, ReactNode, JSX } from 'react';\nimport type { KnownHttpApiKey, PageAssets } from './preset/isomorphic/types';\nimport type { ExpressHandlerContext, ExpressRouteList } from './preset/node/types';\nimport type { SpecificExtras } from './preset/server/utils/specific-extras';\nimport type { CreateAxiosDefaults } from 'axios';\nimport type { AxiosInstanceWrapper, Middleware as AxiosMiddleware } from 'middleware-axios';\nimport type { Handler, LogHandler, LogHandlerFactory, Middleware, ProxyOptions } from './http';\nimport type { HttpApiHostPool } from './preset/isomorphic/utils/http-api-host-pool';\nimport type {\n ServerHandlerContext,\n ServerHandler,\n ServerMiddleware,\n PageResponseFormatter,\n RenderToString,\n RouteList,\n} from './preset/server/types';\n\n/**\n * Токены компонентов.\n * Данные токены используются в DI-пресетах, доступных из пакета.\n */\nexport const KnownToken = {\n /** Токены компонентов конфигурации приложения. */\n Config: {\n /** Токен \"источника конфигурации\". */\n source: createToken<ConfigSource>('config/source'),\n\n /** Токен базовой конфигурации. */\n base: createToken<BaseConfig>('config/base'),\n },\n\n /** Токен компонента кеша. */\n cache: createToken<Cache>('cache'),\n\n /** Токен компонента логгера. */\n logger: createToken<Logger>('logger'),\n\n /** Токены компонентов трассировки и телеметрии. */\n Tracing: {\n tracer: createToken<Tracer>('tracing/tracer'),\n spanExporter: createToken<SpanExporter>('tracing/span-exporter'),\n tracerProvider: createToken<BasicTracerProvider>('tracing/tracer-provider'),\n\n // @todo перенести в KnownToken.Telemetry.Resource?\n tracerProviderResource: createToken<Resource>('tracing/resource'),\n },\n\n /** Токены компонентов сбора метрик. */\n Metrics: {\n expressApp: createToken<express.Application>('metrics/express-app'),\n httpHandler: createToken<Handler>('metrics/http-handler'),\n },\n\n /** Токены компонентов для работы по HTTP. */\n Http: {\n /** Токены компонентов API. */\n Api: {\n /** Токен пула хостов известных HTTP API. */\n knownHosts: createToken<HttpApiHostPool<KnownHttpApiKey>>('http/api/known-hosts'),\n },\n\n /** Токен функции fetch. */\n fetch: createToken<typeof fetch>('fetch'),\n\n /** Токены компонентов формирующих работу функции fetch. */\n Fetch: {\n /** Токен AbortController для функции fetch. */\n abortController: createToken<AbortController>('fetch/abort-controller'),\n\n /** Токен списка промежуточных слоев для функции fetch. */\n middleware: createToken<Middleware[]>('fetch/middleware'),\n\n /** Токены компонентов промежуточных слоев для функции fetch. */\n Middleware: {\n /** Токены компонентов промежуточного слоя логирования. */\n Log: {\n /** Токены обработчика логирования работы функции fetch. */\n handler: createToken<LogHandler | LogHandlerFactory>('fetch/middleware/log/handler'),\n },\n },\n },\n\n /** Токен функции обработки входящего HTTP-запроса. */\n serve: createToken<Handler>('serve'),\n\n /** Токены компонентов функции обработки входящего HTTP-запроса. */\n Serve: {\n /** Токен списка маршрутов. */\n pageRoutes: createToken<RouteList>('serve/page-routes'),\n\n /** Токен списка \"служебных\" маршрутов. К \"служебным\" маршрутам не применяются промежуточные слои. */\n serviceRoutes: createToken<RouteList>('serve/service-routes'),\n\n /** Токен списка промежуточных слоев обработки входящего HTTP-запроса. */\n middleware: createToken<ServerMiddleware[]>('serve/middleware'),\n\n Proxy: {\n config: createToken<null | undefined | ProxyOptions | ProxyOptions[]>('proxy/config'),\n },\n },\n\n /** Токены компонентов обработчиков входящих HTTP-запросов. */\n Handler: {\n /** Токен главной функции (точки входа) обработчика. */\n main: createToken<ServerHandler>('handler/main'),\n\n /** Токен \"контекста\" обработчика. Контекст содержит объект запроса а также реализует EventTarget. */\n context: createToken<ServerHandlerContext & { request: Request }>('handler/context'),\n\n /** Токен компонентов входящего запроса. */\n Request: {\n /** Токен функции которая определяет возможные типы ответа и их приоритет. */\n acceptType: createToken<(types: string[]) => string | string[] | false>('handler/accepts'),\n\n /** Токен \"специфичных\" параметров запроса. В зависимости от реализации определит параметры на основе объекта запроса. */\n specificParams: createToken<Record<string, unknown>>('request/specific-params'),\n },\n\n /** Токены компонентов исходящего ответа. */\n Response: {\n /** Токен объекта для подписки на события и вызова событий ответа. */\n events: createToken<EventTarget>('response/events'),\n\n /** Токен \"специфичных\" дополнительных данных. В зависимости от реализации сформирует дополнительные данные ответа. */\n specificExtras: createToken<SpecificExtras>('response/specific-extras'),\n },\n\n /** Токены компонентов HTML-документа, формируемого в рамках обработчика. */\n Page: {\n /** Токен рендер-функции. */\n render: createToken<() => JSX.Element | Promise<JSX.Element>>('page/render'),\n\n /** Токен ассетов HTML-документа. */\n assets: createToken<PageAssets | (() => PageAssets | Promise<PageAssets>)>('page/assets'),\n\n /** Токен \"шлема\". Шлем - UI-компонент, внутри которого будет выведен результат render-функции. */\n helmet: createToken<ElementType<{ children: ReactNode }>>('page/helmet'),\n\n /** Токен функции, получающей jsx и возвращающей строку. */\n elementToString: createToken<RenderToString>('page/element-to-string'),\n\n /** Токен функции, которая вернёт данные для ответа. */\n formatResponse: createToken<PageResponseFormatter>('page/format-response'),\n },\n },\n },\n\n /** Токены компонентов для работы с библиотекой axios. */\n Axios: {\n /** Токен фабрики экземпляров axios. Фабрика вернет расширенный экземпляр с возможностью применять промежуточные слои. */\n factory: createToken<(config?: CreateAxiosDefaults) => AxiosInstanceWrapper>('axios/factory'),\n\n /** Токен промежуточных слоев. */\n middleware: createToken<AxiosMiddleware<any>[]>('axios/middleware'),\n\n /** Токен компонентов промежуточных слоев. */\n Middleware: {\n /** Токен компонентов слоя логирования. */\n Log: {\n /** Токен обработчика логирования. */\n handler: createToken<LogMiddlewareHandlerInit>('axios/middleware/log/handler'),\n },\n },\n },\n\n /** Токены компонентов для работы с библиотекой express. */\n Express: {\n /** Токен основного express-приложения. */\n app: createToken<express.Application>('express/app'),\n\n /** Токен списка маршрутов страниц. */\n pageRoutes: createToken<ExpressRouteList>('express/page-routes'),\n\n /** Токен списка служебных маршрутов. */\n serviceRoutes: createToken<ExpressRouteList>('express/service-routes'),\n\n /** Токен списка промежуточных слоев для публичных маршрутов. */\n middleware:\n createToken<Array<express.Handler | express.ErrorRequestHandler>>('express/middleware'),\n\n /** Токен списка промежуточных слоев для публичных маршрутов, которые подключаются после обработчика. */\n endMiddleware:\n createToken<Array<express.Handler | express.ErrorRequestHandler>>('express/end-middleware'),\n\n /** Токен фабрики express-приложений. */\n factory: createToken<() => express.Application>('express/factory'),\n\n /** Токен express-обработчиков. */\n Handlers: {\n /** Токен обработчика \"health check\". */\n healthCheck: createToken<express.Handler>('express/handler/health-check'),\n },\n\n /** Токены промежуточных слоев express-приложения. */\n Middleware: {\n request: createToken<express.Handler>('express/middleware/request'),\n log: createToken<express.Handler>('express/middleware/log'),\n tracing: createToken<express.Handler>('express/middleware/tracing'),\n metrics: createToken<express.Handler>('express/middleware/metrics'),\n error: createToken<express.ErrorRequestHandler>('express/middleware/error'),\n },\n },\n\n /** Токены компонентов express-обработчика. */\n ExpressHandler: {\n /** Токен главной функции (точки входа) обработчика. */\n main: createToken<express.Handler>('express-handler/main'),\n\n /** Токен \"контекста\" обработчика. Контекст содержит все аргументы, доступные обработчику (req, res, next). */\n context: createToken<ExpressHandlerContext>('express-handler/context'),\n },\n\n /** Токены компонентов для работы с библиотекой redux. */\n Redux: {\n /** Токены компонентов промежуточных слоев. */\n Middleware: {\n /** Токен промежуточного слоя redux-saga. */\n saga: createToken<SagaMiddleware>('saga-middleware'),\n },\n },\n\n /** Токены компонентов передачи данных страницы между клиентом и сервером. */\n SsrBridge: {\n /** Токены компонента \"клиентской стороны\". */\n clientSide: createToken<BridgeClientSide<unknown>>('ssr-bridge/client-side'),\n\n /** Токены компонента \"серверной стороны\". */\n serverSide: createToken<BridgeServerSide>('ssr-bridge/server-side'),\n },\n} as const;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["sauce","formatResultInfo","applyAxiosDefaults","logMiddleware"
|
|
1
|
+
{"version":3,"file":"index.js","names":["sauce","formatResultInfo","applyAxiosDefaults","logMiddleware"],"sources":["../../../../src/utils/axios/index.ts"],"sourcesContent":["export { type Sauce, type SauceResponse, sauce, formatResultInfo } from './sauce';\nexport { applyAxiosDefaults } from './utils';\nexport {\n type SharedData,\n type DoneSharedData,\n type FailSharedData,\n type LogMiddlewareHandler,\n type LogMiddlewareHandlerFactory,\n type LogMiddlewareHandlerInit,\n logMiddleware,\n} from './middleware/log';\n"],"mappings":"AAAA,SAAyCA,KAAK,EAAEC,gBAAgB,QAAQ,kBAAS;AACjF,SAASC,kBAAkB,QAAQ,kBAAS;AAC5C,SAOEC,aAAa,QACR,qBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health-check.js","names":["healthCheck","startTime","Date","now","req","res","json","uptime"],"sources":["../../../../../src/utils/express/handler/health-check.ts"],"sourcesContent":["import type
|
|
1
|
+
{"version":3,"file":"health-check.js","names":["healthCheck","startTime","Date","now","req","res","json","uptime"],"sources":["../../../../../src/utils/express/handler/health-check.ts"],"sourcesContent":["import type express from 'express';\n\n/**\n * Возвращает обработчик, отвечающий данными о времени работы приложения.\n * @return Обработчик http-запроса.\n */\nexport function healthCheck(): express.Handler {\n const startTime = Date.now();\n\n return (req, res) => {\n res.json({ uptime: Date.now() - startTime });\n };\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA,OAAO,SAASA,WAAWA,CAAA,EAAoB;EAC7C,MAAMC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;EAE5B,OAAO,CAACC,GAAG,EAAEC,GAAG,KAAK;IACnBA,GAAG,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAEL,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF;IAAU,CAAC,CAAC;EAC9C,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["composeMiddleware","list","reduce","a","b","req","res","next","err"],"sources":["../../../../../src/utils/express/utils/index.ts"],"sourcesContent":["import type
|
|
1
|
+
{"version":3,"file":"index.js","names":["composeMiddleware","list","reduce","a","b","req","res","next","err"],"sources":["../../../../../src/utils/express/utils/index.ts"],"sourcesContent":["import type express from 'express';\n\n/**\n * Объединяет промежуточные слои в один.\n * @param list Промежуточные слои.\n * @return Промежуточный слой.\n */\nexport function composeMiddleware(list: express.Handler[]): express.Handler {\n return list.reduce((a, b) => (req, res, next) => {\n a(req, res, err => {\n if (err) {\n return next(err);\n }\n\n b(req, res, next);\n });\n });\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,iBAAiBA,CAACC,IAAuB,EAAmB;EAC1E,OAAOA,IAAI,CAACC,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,KAAK;IAC/CJ,CAAC,CAACE,GAAG,EAAEC,GAAG,EAAEE,GAAG,IAAI;MACjB,IAAIA,GAAG,EAAE;QACP,OAAOD,IAAI,CAACC,GAAG,CAAC;MAClB;MAEAJ,CAAC,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,CAAC;IACnB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/config/source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/config/source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAOxD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY,CAYvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,6BAA6B;AAC7B,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC;IAEZ,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAEhB,yBAAyB;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export type { Handler, Enhancer, Middleware, LogData, DoneLogData, FailLogData, LogHandler, LogHandlerFactory,
|
|
2
|
-
export { configureFetch, applyMiddleware
|
|
3
|
-
export { log,
|
|
1
|
+
export type { ProxyOptions, Handler, Enhancer, Middleware, LogData, DoneLogData, FailLogData, LogHandler, LogHandlerFactory, EitherResponse, ResponseDone, ResponseFail, ResponseErrorInit, } from './types';
|
|
2
|
+
export { configureFetch, applyMiddleware } from '@krutoo/fetch-tools';
|
|
3
|
+
export { log, proxy, defaultHeaders, validateStatus } from '@krutoo/fetch-tools/middleware';
|
|
4
4
|
export { StatusError, ResponseError } from './errors';
|
|
5
5
|
export { FetchUtil } from './utils';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,UAAU,EACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,iBAAiB,GAClB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { LogLevel } from '../log';
|
|
2
|
-
export type { Handler, Enhancer, Middleware
|
|
3
|
-
export type { LogData, DoneLogData, FailLogData, LogHandler, LogHandlerFactory, } from '@krutoo/fetch-tools/middleware';
|
|
1
|
+
import type { LogLevel } from '../log';
|
|
2
|
+
export type { Handler, Enhancer, Middleware } from '@krutoo/fetch-tools';
|
|
3
|
+
export type { LogData, DoneLogData, FailLogData, LogHandler, LogHandlerFactory, ProxyOptions, } from '@krutoo/fetch-tools/middleware';
|
|
4
4
|
export type URLSearchParamsInit = Record<string, string | number | boolean | undefined | null>;
|
|
5
5
|
export interface ResponseDone<T = unknown> {
|
|
6
6
|
ok: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/http/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/http/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEzE,YAAY,EACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,YAAY,GACb,MAAM,gCAAgC,CAAC;AAExC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;AAE/F,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,EAAE,EAAE,KAAK,CAAC;IACV,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/log/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/log/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/D;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,IAAI,EAAE,YAAY,CAAC;IAEnB;;;OAGG;gBACS,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB;CAItD;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IAExB;;OAEG;gBACS,IAAI,EAAE,iBAAiB;CAIpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/preset/bun/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAa5C;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,SAAS,CAAC,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/preset/bun/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAa5C;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,SAAS,CAAC,EAAE,WAAW,6BAsChD;AAGD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/preset/bun-handler/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/preset/bun-handler/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAgB5C;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,WAAW,6BA6BvD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-middleware.d.ts","sourceRoot":"","sources":["../../../../../src/preset/bun-handler/providers/fetch-middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"fetch-middleware.d.ts","sourceRoot":"","sources":["../../../../../src/preset/bun-handler/providers/fetch-middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAkB,MAAM,eAAe,CAAC;AAM3D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAoBrE"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Resolve } from '../../../di';
|
|
2
|
-
export declare function provideHandlerMain(resolve: Resolve): import("
|
|
2
|
+
export declare function provideHandlerMain(resolve: Resolve): import("../../../http").Handler;
|
|
3
3
|
//# sourceMappingURL=handler-main.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler-main.d.ts","sourceRoot":"","sources":["../../../../../src/preset/bun-handler/providers/handler-main.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAMtC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"handler-main.d.ts","sourceRoot":"","sources":["../../../../../src/preset/bun-handler/providers/handler-main.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAMtC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,mCA0DlD"}
|