@sima-land/isomorph 11.0.0-alpha.45 → 11.0.0-alpha.46

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.
Files changed (62) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/http/types.js.map +1 -1
  3. package/dist/cjs/package.json +1 -1
  4. package/dist/cjs/preset/bun-handler/index.js +0 -2
  5. package/dist/cjs/preset/bun-handler/index.js.map +1 -1
  6. package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js +1 -2
  7. package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js.map +1 -1
  8. package/dist/cjs/preset/bun-handler/providers/handler-main.js +1 -21
  9. package/dist/cjs/preset/bun-handler/providers/handler-main.js.map +1 -1
  10. package/dist/cjs/preset/node-handler/index.js +2 -2
  11. package/dist/cjs/preset/node-handler/index.js.map +1 -1
  12. package/dist/cjs/preset/node-handler/providers/axios-middleware.js +1 -2
  13. package/dist/cjs/preset/node-handler/providers/axios-middleware.js.map +1 -1
  14. package/dist/cjs/preset/node-handler/providers/fetch-middleware.js +1 -2
  15. package/dist/cjs/preset/node-handler/providers/fetch-middleware.js.map +1 -1
  16. package/dist/cjs/preset/node-handler/providers/handler-main.js +1 -14
  17. package/dist/cjs/preset/node-handler/providers/handler-main.js.map +1 -1
  18. package/dist/cjs/preset/server/index.js +6 -0
  19. package/dist/cjs/preset/server/index.js.map +1 -1
  20. package/dist/cjs/preset/server/providers/format-page-response.js +4 -1
  21. package/dist/cjs/preset/server/providers/format-page-response.js.map +1 -1
  22. package/dist/cjs/preset/server/types.js.map +1 -1
  23. package/dist/cjs/preset/server/utils/get-forwarded-headers.js +6 -0
  24. package/dist/cjs/preset/server/utils/get-forwarded-headers.js.map +1 -1
  25. package/dist/esm/http/types.js.map +1 -1
  26. package/dist/esm/package.json +1 -1
  27. package/dist/esm/preset/bun-handler/index.js +0 -2
  28. package/dist/esm/preset/bun-handler/index.js.map +1 -1
  29. package/dist/esm/preset/bun-handler/providers/fetch-middleware.js +2 -3
  30. package/dist/esm/preset/bun-handler/providers/fetch-middleware.js.map +1 -1
  31. package/dist/esm/preset/bun-handler/providers/handler-main.js +1 -21
  32. package/dist/esm/preset/bun-handler/providers/handler-main.js.map +1 -1
  33. package/dist/esm/preset/node-handler/index.js +2 -2
  34. package/dist/esm/preset/node-handler/index.js.map +1 -1
  35. package/dist/esm/preset/node-handler/providers/axios-middleware.js +2 -3
  36. package/dist/esm/preset/node-handler/providers/axios-middleware.js.map +1 -1
  37. package/dist/esm/preset/node-handler/providers/fetch-middleware.js +2 -3
  38. package/dist/esm/preset/node-handler/providers/fetch-middleware.js.map +1 -1
  39. package/dist/esm/preset/node-handler/providers/handler-main.js +1 -14
  40. package/dist/esm/preset/node-handler/providers/handler-main.js.map +1 -1
  41. package/dist/esm/preset/server/index.js +1 -1
  42. package/dist/esm/preset/server/index.js.map +1 -1
  43. package/dist/esm/preset/server/providers/format-page-response.js +4 -1
  44. package/dist/esm/preset/server/providers/format-page-response.js.map +1 -1
  45. package/dist/esm/preset/server/types.js.map +1 -1
  46. package/dist/esm/preset/server/utils/get-forwarded-headers.js +6 -0
  47. package/dist/esm/preset/server/utils/get-forwarded-headers.js.map +1 -1
  48. package/dist/types/http/types.d.ts +1 -1
  49. package/dist/types/http/types.d.ts.map +1 -1
  50. package/dist/types/preset/bun-handler/index.d.ts.map +1 -1
  51. package/dist/types/preset/bun-handler/providers/fetch-middleware.d.ts.map +1 -1
  52. package/dist/types/preset/bun-handler/providers/handler-main.d.ts.map +1 -1
  53. package/dist/types/preset/node-handler/providers/axios-middleware.d.ts.map +1 -1
  54. package/dist/types/preset/node-handler/providers/fetch-middleware.d.ts.map +1 -1
  55. package/dist/types/preset/node-handler/providers/handler-main.d.ts.map +1 -1
  56. package/dist/types/preset/server/index.d.ts +2 -2
  57. package/dist/types/preset/server/index.d.ts.map +1 -1
  58. package/dist/types/preset/server/providers/format-page-response.d.ts.map +1 -1
  59. package/dist/types/preset/server/types.d.ts +1 -1
  60. package/dist/types/preset/server/types.d.ts.map +1 -1
  61. package/dist/types/preset/server/utils/get-forwarded-headers.d.ts.map +1 -1
  62. package/package.json +1 -1
package/README.md CHANGED
@@ -7,6 +7,7 @@
7
7
  - react
8
8
  - redux
9
9
  - redux-saga
10
+ - fetch
10
11
  - axios
11
12
  - express
12
13
  - webpack
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/http/types.ts"],"sourcesContent":["import { LogLevel } from '../log';\n\nexport type { Handler, Enhancer, Middleware, CookieStore } from '@krutoo/fetch-tools';\nexport type {\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n} from '@krutoo/fetch-tools/middleware';\n\nexport type URLSearchParamsInit = Record<string, string | number | boolean | undefined | null>;\n\nexport interface ResponseDone<T = unknown> {\n ok: true;\n data: T;\n error: null;\n status: number;\n statusText: string;\n}\n\nexport interface ResponseFail<T = unknown> {\n ok: false;\n data?: T;\n error: unknown;\n status?: number;\n statusText?: string;\n}\n\nexport type EitherResponse<T> = ResponseDone<T> | ResponseFail<T>;\n\nexport interface ResponseErrorInit {\n statusCode?: number;\n redirectLocation?: string;\n logLevel?: LogLevel | null;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/http/types.ts"],"sourcesContent":["import type { LogLevel } from '../log';\n\nexport type { Handler, Enhancer, Middleware, CookieStore } from '@krutoo/fetch-tools';\n\nexport type {\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n} from '@krutoo/fetch-tools/middleware';\n\nexport type URLSearchParamsInit = Record<string, string | number | boolean | undefined | null>;\n\nexport interface ResponseDone<T = unknown> {\n ok: true;\n data: T;\n error: null;\n status: number;\n statusText: string;\n}\n\nexport interface ResponseFail<T = unknown> {\n ok: false;\n data?: T;\n error: unknown;\n status?: number;\n statusText?: string;\n}\n\nexport type EitherResponse<T> = ResponseDone<T> | ResponseFail<T>;\n\nexport interface ResponseErrorInit {\n statusCode?: number;\n redirectLocation?: string;\n logLevel?: LogLevel | null;\n}\n"],"mappings":""}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "commonjs",
3
3
  "name": "@sima-land/isomorph",
4
- "version": "11.0.0-alpha.45",
4
+ "version": "11.0.0-alpha.46",
5
5
  "dependencies": {
6
6
  "@humanwhocodes/env": "^2.2.2",
7
7
  "@krutoo/fetch-tools": "^0.0.12",
@@ -15,7 +15,6 @@ var _fetchMiddleware = require("./providers/fetch-middleware");
15
15
  var _handlerMain = require("./providers/handler-main");
16
16
  var _pageHelmet = require("../server/providers/page-helmet");
17
17
  var _specificParams = require("./providers/specific-params");
18
- var _cookieStore = require("./providers/cookie-store");
19
18
  var _specificExtras = require("../server/utils/specific-extras");
20
19
  var _elementToString = require("../server/providers/element-to-string");
21
20
  var _formatPageResponse = require("../server/providers/format-page-response");
@@ -35,7 +34,6 @@ function PresetBunHandler(customize) {
35
34
  // http fetch
36
35
  preset.set(_tokens.KnownToken.Http.fetch, _fetch.provideFetch);
37
36
  preset.set(_tokens.KnownToken.Http.Fetch.abortController, _abortController.provideAbortController);
38
- preset.set(_tokens.KnownToken.Http.Fetch.cookieStore, _cookieStore.provideCookieStore);
39
37
  preset.set(_tokens.KnownToken.Http.Fetch.middleware, _fetchMiddleware.provideFetchMiddleware);
40
38
  preset.set(_tokens.KnownToken.Http.Fetch.Middleware.Log.handler, _fetchLogHandler.provideFetchLogHandler);
41
39
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_di","require","_tokens","_abortController","_fetch","_reduxMiddlewareSaga","_pageRender","_fetchLogHandler","_fetchMiddleware","_handlerMain","_pageHelmet","_specificParams","_cookieStore","_specificExtras","_elementToString","_formatPageResponse","_acceptType","_responseEvents","PresetBunHandler","customize","preset","createPreset","set","KnownToken","Http","fetch","provideFetch","Fetch","abortController","provideAbortController","cookieStore","provideCookieStore","middleware","provideFetchMiddleware","Middleware","Log","handler","provideFetchLogHandler","Handler","main","provideHandlerMain","Request","acceptType","provideAcceptType","specificParams","provideSpecificParams","Response","events","provideResponseEvents","specificExtras","SpecificExtras","Page","assets","js","css","helmet","providePageHelmet","render","providePageRender","elementToString","provideElementToString","formatResponse","provideFormatPageResponse","Redux","saga","provideReduxMiddlewareSaga","override","bind"],"sources":["../../../../src/preset/bun-handler/index.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { PresetTuner } from '../isomorphic';\nimport { provideAbortController } from '../isomorphic/providers/abort-controller';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideReduxMiddlewareSaga } from '../isomorphic/providers/redux-middleware-saga';\nimport { providePageRender } from '../server/providers/page-render';\nimport { provideFetchLogHandler } from '../server/providers/fetch-log-handler';\nimport { provideFetchMiddleware } from './providers/fetch-middleware';\nimport { provideHandlerMain } from './providers/handler-main';\nimport { providePageHelmet } from '../server/providers/page-helmet';\nimport { provideSpecificParams } from './providers/specific-params';\nimport { provideCookieStore } from './providers/cookie-store';\nimport { SpecificExtras } from '../server/utils/specific-extras';\nimport { provideElementToString } from '../server/providers/element-to-string';\nimport { provideFormatPageResponse } from '../server/providers/format-page-response';\nimport { provideAcceptType } from './providers/accept-type';\nimport { provideResponseEvents } from '../server/providers/response-events';\n\n/**\n * Возвращает preset с зависимостями для формирования обработчика входящего http-запроса.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @todo Возможно стоит переименовать в PresetPageHandler.\n * @return Preset.\n */\nexport function PresetBunHandler(customize?: PresetTuner) {\n const preset = createPreset();\n\n // http fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.abortController, provideAbortController);\n preset.set(KnownToken.Http.Fetch.cookieStore, provideCookieStore);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n preset.set(KnownToken.Http.Fetch.Middleware.Log.handler, provideFetchLogHandler);\n\n // handler\n preset.set(KnownToken.Http.Handler.main, provideHandlerMain);\n preset.set(KnownToken.Http.Handler.Request.acceptType, provideAcceptType);\n preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);\n preset.set(KnownToken.Http.Handler.Response.events, provideResponseEvents);\n preset.set(KnownToken.Http.Handler.Response.specificExtras, () => new SpecificExtras());\n preset.set(KnownToken.Http.Handler.Page.assets, () => ({ js: '', css: '' }));\n preset.set(KnownToken.Http.Handler.Page.helmet, providePageHelmet);\n preset.set(KnownToken.Http.Handler.Page.render, providePageRender);\n preset.set(KnownToken.Http.Handler.Page.elementToString, provideElementToString);\n preset.set(KnownToken.Http.Handler.Page.formatResponse, provideFormatPageResponse);\n\n // redux saga\n preset.set(KnownToken.Redux.Middleware.saga, provideReduxMiddlewareSaga);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_di","require","_tokens","_abortController","_fetch","_reduxMiddlewareSaga","_pageRender","_fetchLogHandler","_fetchMiddleware","_handlerMain","_pageHelmet","_specificParams","_specificExtras","_elementToString","_formatPageResponse","_acceptType","_responseEvents","PresetBunHandler","customize","preset","createPreset","set","KnownToken","Http","fetch","provideFetch","Fetch","abortController","provideAbortController","middleware","provideFetchMiddleware","Middleware","Log","handler","provideFetchLogHandler","Handler","main","provideHandlerMain","Request","acceptType","provideAcceptType","specificParams","provideSpecificParams","Response","events","provideResponseEvents","specificExtras","SpecificExtras","Page","assets","js","css","helmet","providePageHelmet","render","providePageRender","elementToString","provideElementToString","formatResponse","provideFormatPageResponse","Redux","saga","provideReduxMiddlewareSaga","override","bind"],"sources":["../../../../src/preset/bun-handler/index.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { PresetTuner } from '../isomorphic';\nimport { provideAbortController } from '../isomorphic/providers/abort-controller';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideReduxMiddlewareSaga } from '../isomorphic/providers/redux-middleware-saga';\nimport { providePageRender } from '../server/providers/page-render';\nimport { provideFetchLogHandler } from '../server/providers/fetch-log-handler';\nimport { provideFetchMiddleware } from './providers/fetch-middleware';\nimport { provideHandlerMain } from './providers/handler-main';\nimport { providePageHelmet } from '../server/providers/page-helmet';\nimport { provideSpecificParams } from './providers/specific-params';\nimport { SpecificExtras } from '../server/utils/specific-extras';\nimport { provideElementToString } from '../server/providers/element-to-string';\nimport { provideFormatPageResponse } from '../server/providers/format-page-response';\nimport { provideAcceptType } from './providers/accept-type';\nimport { provideResponseEvents } from '../server/providers/response-events';\n\n/**\n * Возвращает preset с зависимостями для формирования обработчика входящего http-запроса.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @todo Возможно стоит переименовать в PresetPageHandler.\n * @return Preset.\n */\nexport function PresetBunHandler(customize?: PresetTuner) {\n const preset = createPreset();\n\n // http fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.abortController, provideAbortController);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n preset.set(KnownToken.Http.Fetch.Middleware.Log.handler, provideFetchLogHandler);\n\n // handler\n preset.set(KnownToken.Http.Handler.main, provideHandlerMain);\n preset.set(KnownToken.Http.Handler.Request.acceptType, provideAcceptType);\n preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);\n preset.set(KnownToken.Http.Handler.Response.events, provideResponseEvents);\n preset.set(KnownToken.Http.Handler.Response.specificExtras, () => new SpecificExtras());\n preset.set(KnownToken.Http.Handler.Page.assets, () => ({ js: '', css: '' }));\n preset.set(KnownToken.Http.Handler.Page.helmet, providePageHelmet);\n preset.set(KnownToken.Http.Handler.Page.render, providePageRender);\n preset.set(KnownToken.Http.Handler.Page.elementToString, provideElementToString);\n preset.set(KnownToken.Http.Handler.Page.formatResponse, provideFormatPageResponse);\n\n // redux saga\n preset.set(KnownToken.Redux.Middleware.saga, provideReduxMiddlewareSaga);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n"],"mappings":"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"}
@@ -16,13 +16,12 @@ function provideFetchMiddleware(resolve) {
16
16
  const config = resolve(_tokens.KnownToken.Config.base);
17
17
  const context = resolve(_tokens.KnownToken.Http.Handler.context);
18
18
  const logHandler = resolve(_tokens.KnownToken.Http.Fetch.Middleware.Log.handler);
19
- const cookieStore = resolve(_tokens.KnownToken.Http.Fetch.cookieStore);
20
19
  const abortController = resolve(_tokens.KnownToken.Http.Fetch.abortController);
21
20
  return [
22
21
  // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше
23
22
  (0, _getFetchErrorLogging.getFetchErrorLogging)(logHandler),
24
23
  // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса
25
- (0, _getFetchExtraAborting.getFetchExtraAborting)(abortController), (0, _http.cookie)(cookieStore), (0, _http.defaultHeaders)((0, _getForwardedHeaders.getForwardedHeaders)(config, context.request)),
24
+ (0, _getFetchExtraAborting.getFetchExtraAborting)(abortController), (0, _http.defaultHeaders)((0, _getForwardedHeaders.getForwardedHeaders)(config, context.request)),
26
25
  // @todo tracing
27
26
 
28
27
  // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-middleware.js","names":["_tokens","require","_http","_getFetchErrorLogging","_getFetchExtraAborting","_getFetchLogging","_getForwardedHeaders","provideFetchMiddleware","resolve","config","KnownToken","Config","base","context","Http","Handler","logHandler","Fetch","Middleware","Log","handler","cookieStore","abortController","getFetchErrorLogging","getFetchExtraAborting","cookie","defaultHeaders","getForwardedHeaders","request","getFetchLogging"],"sources":["../../../../../src/preset/bun-handler/providers/fetch-middleware.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { Middleware, cookie, defaultHeaders } from '../../../http';\nimport { getFetchErrorLogging } from '../../isomorphic/utils/get-fetch-error-logging';\nimport { getFetchExtraAborting } from '../../isomorphic/utils/get-fetch-extra-aborting';\nimport { getFetchLogging } from '../../isomorphic/utils/get-fetch-logging';\nimport { getForwardedHeaders } from '../../server/utils/get-forwarded-headers';\n\nexport function provideFetchMiddleware(resolve: Resolve): Middleware[] {\n const config = resolve(KnownToken.Config.base);\n const context = resolve(KnownToken.Http.Handler.context);\n const logHandler = resolve(KnownToken.Http.Fetch.Middleware.Log.handler);\n const cookieStore = resolve(KnownToken.Http.Fetch.cookieStore);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return [\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getFetchErrorLogging(logHandler),\n\n // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса\n getFetchExtraAborting(abortController),\n\n cookie(cookieStore),\n\n defaultHeaders(getForwardedHeaders(config, context.request)),\n\n // @todo tracing\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getFetchLogging(logHandler),\n ];\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AAPA;;AASO,SAASM,sBAAsBA,CAACC,OAAgB,EAAgB;EACrE,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,OAAO,GAAGL,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACC,OAAO,CAACF,OAAO,CAAC;EACxD,MAAMG,UAAU,GAAGR,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACG,KAAK,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EACxE,MAAMC,WAAW,GAAGb,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACG,KAAK,CAACI,WAAW,CAAC;EAC9D,MAAMC,eAAe,GAAGd,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACG,KAAK,CAACK,eAAe,CAAC;EAEtE,OAAO;EACL;EACA,IAAAC,0CAAoB,EAACP,UAAU,CAAC;EAEhC;EACA,IAAAQ,4CAAqB,EAACF,eAAe,CAAC,EAEtC,IAAAG,YAAM,EAACJ,WAAW,CAAC,EAEnB,IAAAK,oBAAc,EAAC,IAAAC,wCAAmB,EAAClB,MAAM,EAAEI,OAAO,CAACe,OAAO,CAAC,CAAC;EAE5D;;EAEA;EACA,IAAAC,gCAAe,EAACb,UAAU,CAAC,CAC5B;AACH"}
1
+ {"version":3,"file":"fetch-middleware.js","names":["_tokens","require","_http","_getFetchErrorLogging","_getFetchExtraAborting","_getFetchLogging","_getForwardedHeaders","provideFetchMiddleware","resolve","config","KnownToken","Config","base","context","Http","Handler","logHandler","Fetch","Middleware","Log","handler","abortController","getFetchErrorLogging","getFetchExtraAborting","defaultHeaders","getForwardedHeaders","request","getFetchLogging"],"sources":["../../../../../src/preset/bun-handler/providers/fetch-middleware.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { Middleware, defaultHeaders } from '../../../http';\nimport { getFetchErrorLogging } from '../../isomorphic/utils/get-fetch-error-logging';\nimport { getFetchExtraAborting } from '../../isomorphic/utils/get-fetch-extra-aborting';\nimport { getFetchLogging } from '../../isomorphic/utils/get-fetch-logging';\nimport { getForwardedHeaders } from '../../server/utils/get-forwarded-headers';\n\nexport function provideFetchMiddleware(resolve: Resolve): Middleware[] {\n const config = resolve(KnownToken.Config.base);\n const context = resolve(KnownToken.Http.Handler.context);\n const logHandler = resolve(KnownToken.Http.Fetch.Middleware.Log.handler);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return [\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getFetchErrorLogging(logHandler),\n\n // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса\n getFetchExtraAborting(abortController),\n\n defaultHeaders(getForwardedHeaders(config, context.request)),\n\n // @todo tracing\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getFetchLogging(logHandler),\n ];\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AAPA;;AASO,SAASM,sBAAsBA,CAACC,OAAgB,EAAgB;EACrE,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,OAAO,GAAGL,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACC,OAAO,CAACF,OAAO,CAAC;EACxD,MAAMG,UAAU,GAAGR,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACG,KAAK,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EACxE,MAAMC,eAAe,GAAGb,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACG,KAAK,CAACI,eAAe,CAAC;EAEtE,OAAO;EACL;EACA,IAAAC,0CAAoB,EAACN,UAAU,CAAC;EAEhC;EACA,IAAAO,4CAAqB,EAACF,eAAe,CAAC,EAEtC,IAAAG,oBAAc,EAAC,IAAAC,wCAAmB,EAAChB,MAAM,EAAEI,OAAO,CAACa,OAAO,CAAC,CAAC;EAE5D;;EAEA;EACA,IAAAC,gCAAe,EAACX,UAAU,CAAC,CAC5B;AACH"}
@@ -16,23 +16,13 @@ function provideHandlerMain(resolve) {
16
16
  const logger = resolve(_tokens.KnownToken.logger);
17
17
  const assetsInit = resolve(_tokens.KnownToken.Http.Handler.Page.assets);
18
18
  const render = resolve(_tokens.KnownToken.Http.Handler.Page.render);
19
- const extras = resolve(_tokens.KnownToken.Http.Handler.Response.specificExtras);
20
19
  const Helmet = resolve(_tokens.KnownToken.Http.Handler.Page.helmet);
21
20
  const abortController = resolve(_tokens.KnownToken.Http.Fetch.abortController);
22
21
  const formatResponse = resolve(_tokens.KnownToken.Http.Handler.Page.formatResponse);
23
-
24
- // @todo https://github.com/sima-land/isomorph/issues/69
25
- // const cookieStore = resolve(KnownToken.Http.Fetch.cookieStore);
26
- // const forwardedSetCookie: string[] = [];
27
- // const unsubscribeCookieStore = cookieStore.subscribe(setCookieList => {
28
- // forwardedSetCookie.push(...setCookieList);
29
- // });
30
-
31
22
  const getAssets = typeof assetsInit === 'function' ? assetsInit : () => assetsInit;
32
23
  const handler = async () => {
33
24
  try {
34
25
  const assets = await getAssets();
35
- const meta = extras.getMeta();
36
26
  const jsx = /*#__PURE__*/(0, _jsxRuntime.jsx)(_regularHelmet.HelmetContext.Provider, {
37
27
  value: {
38
28
  title: config.appName,
@@ -45,7 +35,7 @@ function provideHandlerMain(resolve) {
45
35
  const {
46
36
  body,
47
37
  headers
48
- } = await formatResponse(jsx, assets, meta);
38
+ } = await formatResponse(jsx, assets);
49
39
  return new Response(body, {
50
40
  headers
51
41
  });
@@ -72,16 +62,6 @@ function provideHandlerMain(resolve) {
72
62
  }
73
63
  };
74
64
  const enhancer = (0, _http.applyMiddleware)(
75
- // @todo https://github.com/sima-land/isomorph/issues/69
76
- // async (request, next) => {
77
- // const response = await next(request);
78
- // for (const item of forwardedSetCookie) {
79
- // response.headers.append('set-cookie', item);
80
- // }
81
- // unsubscribeCookieStore();
82
- // return response;
83
- // },
84
-
85
65
  // ВАЖНО: прерываем исходящие в рамках обработчика http-запросы
86
66
  async (request, next) => {
87
67
  const response = await next(request);
@@ -1 +1 @@
1
- {"version":3,"file":"handler-main.js","names":["_tokens","require","_http","_regularHelmet","_formatHandlerError","_jsxRuntime","provideHandlerMain","resolve","config","KnownToken","Config","base","logger","assetsInit","Http","Handler","Page","assets","render","extras","Response","specificExtras","Helmet","helmet","abortController","Fetch","formatResponse","getAssets","handler","meta","getMeta","jsx","HelmetContext","Provider","value","title","appName","children","body","headers","error","response","log","formatHandlerError","level","status","redirectLocation","Location","enhancer","applyMiddleware","request","next","abort"],"sources":["../../../../../src/preset/bun-handler/providers/handler-main.tsx"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { applyMiddleware } from '../../../http';\nimport { HelmetContext } from '../../server/utils/regular-helmet';\nimport { formatHandlerError } from '../../server/utils/format-handler-error';\n\nexport function provideHandlerMain(resolve: Resolve) {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n const assetsInit = resolve(KnownToken.Http.Handler.Page.assets);\n const render = resolve(KnownToken.Http.Handler.Page.render);\n const extras = resolve(KnownToken.Http.Handler.Response.specificExtras);\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 // @todo https://github.com/sima-land/isomorph/issues/69\n // const cookieStore = resolve(KnownToken.Http.Fetch.cookieStore);\n // const forwardedSetCookie: string[] = [];\n // const unsubscribeCookieStore = cookieStore.subscribe(setCookieList => {\n // forwardedSetCookie.push(...setCookieList);\n // });\n\n const getAssets = typeof assetsInit === 'function' ? assetsInit : () => assetsInit;\n\n const handler = async (): Promise<Response> => {\n try {\n const assets = await getAssets();\n const meta = extras.getMeta();\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, meta);\n\n return new Response(body, { headers });\n } catch (error) {\n const { response, log } = formatHandlerError(error);\n\n if (log.level && logger[log.level]) {\n logger[log.level](error);\n }\n\n if (response.status > 299 && response.status < 400 && response.redirectLocation) {\n return new Response(null, {\n status: response.status,\n headers: {\n Location: response.redirectLocation,\n },\n });\n } else {\n return new Response(response.body, {\n status: response.status,\n });\n }\n }\n };\n\n const enhancer = applyMiddleware(\n // @todo https://github.com/sima-land/isomorph/issues/69\n // async (request, next) => {\n // const response = await next(request);\n // for (const item of forwardedSetCookie) {\n // response.headers.append('set-cookie', item);\n // }\n // unsubscribeCookieStore();\n // return response;\n // },\n\n // ВАЖНО: прерываем исходящие в рамках обработчика http-запросы\n async (request, next) => {\n const response = await next(request);\n\n abortController.abort();\n\n return response;\n },\n );\n\n return enhancer(handler);\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAA6E,IAAAI,WAAA,GAAAJ,OAAA;AAL7E;;AAOO,SAASK,kBAAkBA,CAACC,OAAgB,EAAE;EACnD,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGL,OAAO,CAACE,kBAAU,CAACG,MAAM,CAAC;EACzC,MAAMC,UAAU,GAAGN,OAAO,CAACE,kBAAU,CAACK,IAAI,CAACC,OAAO,CAACC,IAAI,CAACC,MAAM,CAAC;EAC/D,MAAMC,MAAM,GAAGX,OAAO,CAACE,kBAAU,CAACK,IAAI,CAACC,OAAO,CAACC,IAAI,CAACE,MAAM,CAAC;EAC3D,MAAMC,MAAM,GAAGZ,OAAO,CAACE,kBAAU,CAACK,IAAI,CAACC,OAAO,CAACK,QAAQ,CAACC,cAAc,CAAC;EACvE,MAAMC,MAAM,GAAGf,OAAO,CAACE,kBAAU,CAACK,IAAI,CAACC,OAAO,CAACC,IAAI,CAACO,MAAM,CAAC;EAC3D,MAAMC,eAAe,GAAGjB,OAAO,CAACE,kBAAU,CAACK,IAAI,CAACW,KAAK,CAACD,eAAe,CAAC;EACtE,MAAME,cAAc,GAAGnB,OAAO,CAACE,kBAAU,CAACK,IAAI,CAACC,OAAO,CAACC,IAAI,CAACU,cAAc,CAAC;;EAE3E;EACA;EACA;EACA;EACA;EACA;;EAEA,MAAMC,SAAS,GAAG,OAAOd,UAAU,KAAK,UAAU,GAAGA,UAAU,GAAG,MAAMA,UAAU;EAElF,MAAMe,OAAO,GAAG,MAAAA,CAAA,KAA+B;IAC7C,IAAI;MACF,MAAMX,MAAM,GAAG,MAAMU,SAAS,CAAC,CAAC;MAChC,MAAME,IAAI,GAAGV,MAAM,CAACW,OAAO,CAAC,CAAC;MAE7B,MAAMC,GAAG,gBACP,IAAA1B,WAAA,CAAA0B,GAAA,EAAC5B,cAAA,CAAA6B,aAAa,CAACC,QAAQ;QAACC,KAAK,EAAE;UAAEC,KAAK,EAAE3B,MAAM,CAAC4B,OAAO;UAAEnB;QAAO,CAAE;QAAAoB,QAAA,eAC/D,IAAAhC,WAAA,CAAA0B,GAAA,EAACT,MAAM;UAAAe,QAAA,EAAE,MAAMnB,MAAM,CAAC;QAAC,CAAS;MAAC,CACX,CACzB;MAED,MAAM;QAAEoB,IAAI;QAAEC;MAAQ,CAAC,GAAG,MAAMb,cAAc,CAACK,GAAG,EAAEd,MAAM,EAAEY,IAAI,CAAC;MAEjE,OAAO,IAAIT,QAAQ,CAACkB,IAAI,EAAE;QAAEC;MAAQ,CAAC,CAAC;IACxC,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,MAAM;QAAEC,QAAQ;QAAEC;MAAI,CAAC,GAAG,IAAAC,sCAAkB,EAACH,KAAK,CAAC;MAEnD,IAAIE,GAAG,CAACE,KAAK,IAAIhC,MAAM,CAAC8B,GAAG,CAACE,KAAK,CAAC,EAAE;QAClChC,MAAM,CAAC8B,GAAG,CAACE,KAAK,CAAC,CAACJ,KAAK,CAAC;MAC1B;MAEA,IAAIC,QAAQ,CAACI,MAAM,GAAG,GAAG,IAAIJ,QAAQ,CAACI,MAAM,GAAG,GAAG,IAAIJ,QAAQ,CAACK,gBAAgB,EAAE;QAC/E,OAAO,IAAI1B,QAAQ,CAAC,IAAI,EAAE;UACxByB,MAAM,EAAEJ,QAAQ,CAACI,MAAM;UACvBN,OAAO,EAAE;YACPQ,QAAQ,EAAEN,QAAQ,CAACK;UACrB;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,OAAO,IAAI1B,QAAQ,CAACqB,QAAQ,CAACH,IAAI,EAAE;UACjCO,MAAM,EAAEJ,QAAQ,CAACI;QACnB,CAAC,CAAC;MACJ;IACF;EACF,CAAC;EAED,MAAMG,QAAQ,GAAG,IAAAC,qBAAe;EAC9B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA,OAAOC,OAAO,EAAEC,IAAI,KAAK;IACvB,MAAMV,QAAQ,GAAG,MAAMU,IAAI,CAACD,OAAO,CAAC;IAEpC1B,eAAe,CAAC4B,KAAK,CAAC,CAAC;IAEvB,OAAOX,QAAQ;EACjB,CACF,CAAC;EAED,OAAOO,QAAQ,CAACpB,OAAO,CAAC;AAC1B"}
1
+ {"version":3,"file":"handler-main.js","names":["_tokens","require","_http","_regularHelmet","_formatHandlerError","_jsxRuntime","provideHandlerMain","resolve","config","KnownToken","Config","base","logger","assetsInit","Http","Handler","Page","assets","render","Helmet","helmet","abortController","Fetch","formatResponse","getAssets","handler","jsx","HelmetContext","Provider","value","title","appName","children","body","headers","Response","error","response","log","formatHandlerError","level","status","redirectLocation","Location","enhancer","applyMiddleware","request","next","abort"],"sources":["../../../../../src/preset/bun-handler/providers/handler-main.tsx"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { applyMiddleware } from '../../../http';\nimport { HelmetContext } from '../../server/utils/regular-helmet';\nimport { formatHandlerError } from '../../server/utils/format-handler-error';\n\nexport function provideHandlerMain(resolve: Resolve) {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n const assetsInit = resolve(KnownToken.Http.Handler.Page.assets);\n const render = resolve(KnownToken.Http.Handler.Page.render);\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 const handler = async (): Promise<Response> => {\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 return new Response(body, { headers });\n } catch (error) {\n const { response, log } = formatHandlerError(error);\n\n if (log.level && logger[log.level]) {\n logger[log.level](error);\n }\n\n if (response.status > 299 && response.status < 400 && response.redirectLocation) {\n return new Response(null, {\n status: response.status,\n headers: {\n Location: response.redirectLocation,\n },\n });\n } else {\n return new Response(response.body, {\n status: response.status,\n });\n }\n }\n };\n\n const enhancer = applyMiddleware(\n // ВАЖНО: прерываем исходящие в рамках обработчика http-запросы\n async (request, next) => {\n const response = await next(request);\n\n abortController.abort();\n\n return response;\n },\n );\n\n return enhancer(handler);\n}\n"],"mappings":"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"}
@@ -19,10 +19,10 @@ var _pageHelmet = require("../server/providers/page-helmet");
19
19
  var _pageRender = require("../server/providers/page-render");
20
20
  var _fetchMiddleware = require("./providers/fetch-middleware");
21
21
  var _fetchLogHandler = require("../server/providers/fetch-log-handler");
22
- var _cookieStore = require("./providers/cookie-store");
23
22
  var _specificExtras = require("../server/utils/specific-extras");
24
23
  var _acceptsType = require("./providers/accepts-type");
25
24
  var _responseEvents = require("./providers/response-events");
25
+ var _axiosFactory = require("../isomorphic/providers/axios-factory");
26
26
  /**
27
27
  * Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.
28
28
  * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.
@@ -36,7 +36,6 @@ function PresetHandler(customize) {
36
36
  // fetch
37
37
  preset.set(_tokens.KnownToken.Http.fetch, _fetch.provideFetch);
38
38
  preset.set(_tokens.KnownToken.Http.Fetch.middleware, _fetchMiddleware.provideFetchMiddleware);
39
- preset.set(_tokens.KnownToken.Http.Fetch.cookieStore, _cookieStore.provideCookieStore);
40
39
  preset.set(_tokens.KnownToken.Http.Fetch.abortController, _abortController.provideAbortController);
41
40
  preset.set(_tokens.KnownToken.Http.Fetch.Middleware.Log.handler, _fetchLogHandler.provideFetchLogHandler);
42
41
 
@@ -44,6 +43,7 @@ function PresetHandler(customize) {
44
43
  preset.set(_tokens.KnownToken.Redux.Middleware.saga, _reduxMiddlewareSaga.provideReduxMiddlewareSaga);
45
44
 
46
45
  // axios
46
+ preset.set(_tokens.KnownToken.Axios.factory, _axiosFactory.provideAxiosFactory);
47
47
  preset.set(_tokens.KnownToken.Axios.middleware, _axiosMiddleware.provideAxiosMiddleware);
48
48
  preset.set(_tokens.KnownToken.Axios.Middleware.Log.handler, _axiosLogHandler.provideAxiosLogHandler);
49
49
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_di","require","_tokens","_reduxMiddlewareSaga","_fetch","_abortController","_formatPageResponse","_elementToString","_axiosMiddleware","_axiosLogHandler","_handlerMain","_specificParams","_pageHelmet","_pageRender","_fetchMiddleware","_fetchLogHandler","_cookieStore","_specificExtras","_acceptsType","_responseEvents","PresetHandler","customize","preset","createPreset","set","KnownToken","Http","fetch","provideFetch","Fetch","middleware","provideFetchMiddleware","cookieStore","provideCookieStore","abortController","provideAbortController","Middleware","Log","handler","provideFetchLogHandler","Redux","saga","provideReduxMiddlewareSaga","Axios","provideAxiosMiddleware","provideAxiosLogHandler","ExpressHandler","main","provideHandlerMain","Handler","Request","acceptType","provideAcceptType","specificParams","provideSpecificParams","Response","specificExtras","SpecificExtras","events","provideResponseEvents","Page","assets","js","css","helmet","providePageHelmet","render","providePageRender","elementToString","provideElementToString","formatResponse","provideFormatPageResponse","override","bind"],"sources":["../../../../src/preset/node-handler/index.ts"],"sourcesContent":["import { Preset, createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { provideReduxMiddlewareSaga } from '../isomorphic/providers/redux-middleware-saga';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideAbortController } from '../isomorphic/providers/abort-controller';\nimport { PresetTuner } from '../isomorphic/types';\nimport { provideFormatPageResponse } from '../server/providers/format-page-response';\nimport { provideElementToString } from '../server/providers/element-to-string';\nimport { provideAxiosMiddleware } from './providers/axios-middleware';\nimport { provideAxiosLogHandler } from './providers/axios-log-handler';\nimport { provideHandlerMain } from './providers/handler-main';\nimport { provideSpecificParams } from './providers/specific-params';\nimport { providePageHelmet } from '../server/providers/page-helmet';\nimport { providePageRender } from '../server/providers/page-render';\nimport { provideFetchMiddleware } from './providers/fetch-middleware';\nimport { provideFetchLogHandler } from '../server/providers/fetch-log-handler';\nimport { provideCookieStore } from './providers/cookie-store';\nimport { SpecificExtras } from '../server/utils/specific-extras';\nimport { provideAcceptType } from './providers/accepts-type';\nimport { provideResponseEvents } from './providers/response-events';\n\n/**\n * Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @todo Возможно стоит переименовать в PresetPageHandler.\n * @return Preset.\n */\nexport function PresetHandler(customize?: PresetTuner): Preset {\n // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости\n const preset = createPreset();\n\n // fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n preset.set(KnownToken.Http.Fetch.cookieStore, provideCookieStore);\n preset.set(KnownToken.Http.Fetch.abortController, provideAbortController);\n preset.set(KnownToken.Http.Fetch.Middleware.Log.handler, provideFetchLogHandler);\n\n // saga\n preset.set(KnownToken.Redux.Middleware.saga, provideReduxMiddlewareSaga);\n\n // axios\n preset.set(KnownToken.Axios.middleware, provideAxiosMiddleware);\n preset.set(KnownToken.Axios.Middleware.Log.handler, provideAxiosLogHandler);\n\n // express handler\n preset.set(KnownToken.ExpressHandler.main, provideHandlerMain);\n\n // http handler\n preset.set(KnownToken.Http.Handler.Request.acceptType, provideAcceptType);\n preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);\n preset.set(KnownToken.Http.Handler.Response.specificExtras, () => new SpecificExtras());\n preset.set(KnownToken.Http.Handler.Response.events, provideResponseEvents);\n preset.set(KnownToken.Http.Handler.Page.assets, () => ({ js: '', css: '' }));\n preset.set(KnownToken.Http.Handler.Page.helmet, providePageHelmet);\n preset.set(KnownToken.Http.Handler.Page.render, providePageRender);\n preset.set(KnownToken.Http.Handler.Page.elementToString, provideElementToString);\n preset.set(KnownToken.Http.Handler.Page.formatResponse, provideFormatPageResponse);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_di","require","_tokens","_reduxMiddlewareSaga","_fetch","_abortController","_formatPageResponse","_elementToString","_axiosMiddleware","_axiosLogHandler","_handlerMain","_specificParams","_pageHelmet","_pageRender","_fetchMiddleware","_fetchLogHandler","_specificExtras","_acceptsType","_responseEvents","_axiosFactory","PresetHandler","customize","preset","createPreset","set","KnownToken","Http","fetch","provideFetch","Fetch","middleware","provideFetchMiddleware","abortController","provideAbortController","Middleware","Log","handler","provideFetchLogHandler","Redux","saga","provideReduxMiddlewareSaga","Axios","factory","provideAxiosFactory","provideAxiosMiddleware","provideAxiosLogHandler","ExpressHandler","main","provideHandlerMain","Handler","Request","acceptType","provideAcceptType","specificParams","provideSpecificParams","Response","specificExtras","SpecificExtras","events","provideResponseEvents","Page","assets","js","css","helmet","providePageHelmet","render","providePageRender","elementToString","provideElementToString","formatResponse","provideFormatPageResponse","override","bind"],"sources":["../../../../src/preset/node-handler/index.ts"],"sourcesContent":["import { Preset, createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { provideReduxMiddlewareSaga } from '../isomorphic/providers/redux-middleware-saga';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideAbortController } from '../isomorphic/providers/abort-controller';\nimport { PresetTuner } from '../isomorphic/types';\nimport { provideFormatPageResponse } from '../server/providers/format-page-response';\nimport { provideElementToString } from '../server/providers/element-to-string';\nimport { provideAxiosMiddleware } from './providers/axios-middleware';\nimport { provideAxiosLogHandler } from './providers/axios-log-handler';\nimport { provideHandlerMain } from './providers/handler-main';\nimport { provideSpecificParams } from './providers/specific-params';\nimport { providePageHelmet } from '../server/providers/page-helmet';\nimport { providePageRender } from '../server/providers/page-render';\nimport { provideFetchMiddleware } from './providers/fetch-middleware';\nimport { provideFetchLogHandler } from '../server/providers/fetch-log-handler';\nimport { SpecificExtras } from '../server/utils/specific-extras';\nimport { provideAcceptType } from './providers/accepts-type';\nimport { provideResponseEvents } from './providers/response-events';\nimport { provideAxiosFactory } from '../isomorphic/providers/axios-factory';\n\n/**\n * Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @todo Возможно стоит переименовать в PresetPageHandler.\n * @return Preset.\n */\nexport function PresetHandler(customize?: PresetTuner): Preset {\n // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости\n const preset = createPreset();\n\n // fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n preset.set(KnownToken.Http.Fetch.abortController, provideAbortController);\n preset.set(KnownToken.Http.Fetch.Middleware.Log.handler, provideFetchLogHandler);\n\n // saga\n preset.set(KnownToken.Redux.Middleware.saga, provideReduxMiddlewareSaga);\n\n // axios\n preset.set(KnownToken.Axios.factory, provideAxiosFactory);\n preset.set(KnownToken.Axios.middleware, provideAxiosMiddleware);\n preset.set(KnownToken.Axios.Middleware.Log.handler, provideAxiosLogHandler);\n\n // express handler\n preset.set(KnownToken.ExpressHandler.main, provideHandlerMain);\n\n // http handler\n preset.set(KnownToken.Http.Handler.Request.acceptType, provideAcceptType);\n preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);\n preset.set(KnownToken.Http.Handler.Response.specificExtras, () => new SpecificExtras());\n preset.set(KnownToken.Http.Handler.Response.events, provideResponseEvents);\n preset.set(KnownToken.Http.Handler.Page.assets, () => ({ js: '', css: '' }));\n preset.set(KnownToken.Http.Handler.Page.helmet, providePageHelmet);\n preset.set(KnownToken.Http.Handler.Page.render, providePageRender);\n preset.set(KnownToken.Http.Handler.Page.elementToString, provideElementToString);\n preset.set(KnownToken.Http.Handler.Page.formatResponse, provideFormatPageResponse);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n"],"mappings":"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"}
@@ -19,7 +19,6 @@ function provideAxiosMiddleware(resolve) {
19
19
  const tracer = resolve(_tokens.KnownToken.Tracing.tracer);
20
20
  const context = resolve(_tokens.KnownToken.ExpressHandler.context);
21
21
  const logHandler = resolve(_tokens.KnownToken.Axios.Middleware.Log.handler);
22
- const cookieStore = resolve(_tokens.KnownToken.Http.Fetch.cookieStore);
23
22
  const abortController = resolve(_tokens.KnownToken.Http.Fetch.abortController);
24
23
  return [
25
24
  // пробрасываемые заголовки по соглашению
@@ -50,6 +49,6 @@ function provideAxiosMiddleware(resolve) {
50
49
  ...config,
51
50
  signal: innerController.signal
52
51
  });
53
- }, _httpStatus.HttpStatus.axiosMiddleware(), (0, _axiosTracingMiddleware.axiosTracingMiddleware)(tracer, context.res.locals.tracing.rootContext), (0, _axios.logMiddleware)(logHandler), (0, _axios.cookieMiddleware)(cookieStore)];
52
+ }, _httpStatus.HttpStatus.axiosMiddleware(), (0, _axiosTracingMiddleware.axiosTracingMiddleware)(tracer, context.res.locals.tracing.rootContext), (0, _axios.logMiddleware)(logHandler)];
54
53
  }
55
54
  //# sourceMappingURL=axios-middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"axios-middleware.js","names":["_tokens","require","_httpStatus","_axiosTracingMiddleware","_axios","_getForwardedHeaders","provideAxiosMiddleware","resolve","appConfig","KnownToken","Config","base","tracer","Tracing","context","ExpressHandler","logHandler","Axios","Middleware","Log","handler","cookieStore","Http","Fetch","abortController","config","next","headers","getForwardedHeaders","req","innerController","AbortController","signal","addEventListener","abort","once","HttpStatus","axiosMiddleware","axiosTracingMiddleware","res","locals","tracing","rootContext","logMiddleware","cookieMiddleware"],"sources":["../../../../../src/preset/node-handler/providers/axios-middleware.ts"],"sourcesContent":["import { Middleware } from 'middleware-axios';\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { HttpStatus } from '../../isomorphic/utils/http-status';\nimport { axiosTracingMiddleware } from '../../node/utils/axios-tracing-middleware';\nimport { cookieMiddleware, logMiddleware } from '../../../utils/axios';\nimport { getForwardedHeaders } from '../../node/utils/get-forwarded-headers';\n\n/**\n * Провайдер фабрики http-клиентов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Фабрика.\n */\nexport function provideAxiosMiddleware(resolve: Resolve): Middleware<any>[] {\n const appConfig = resolve(KnownToken.Config.base);\n const tracer = resolve(KnownToken.Tracing.tracer);\n const context = resolve(KnownToken.ExpressHandler.context);\n const logHandler = resolve(KnownToken.Axios.Middleware.Log.handler);\n const cookieStore = resolve(KnownToken.Http.Fetch.cookieStore);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return [\n // пробрасываемые заголовки по соглашению\n async (config, next) => {\n await next({\n ...config,\n headers: {\n ...getForwardedHeaders(appConfig, context.req),\n\n // ВАЖНО: заголовки из конфига важнее, поэтому идут в конце\n ...config.headers,\n },\n });\n },\n\n // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса\n async (config, next) => {\n const innerController = new AbortController();\n\n abortController.signal.addEventListener(\n 'abort',\n () => {\n innerController.abort();\n },\n { once: true },\n );\n\n config.signal?.addEventListener?.(\n 'abort',\n () => {\n innerController.abort();\n },\n { once: true },\n );\n\n await next({ ...config, signal: innerController.signal });\n },\n\n HttpStatus.axiosMiddleware(),\n axiosTracingMiddleware(tracer, context.res.locals.tracing.rootContext),\n logMiddleware(logHandler),\n cookieMiddleware(cookieStore),\n ];\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASK,sBAAsBA,CAACC,OAAgB,EAAqB;EAC1E,MAAMC,SAAS,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EACjD,MAAMC,MAAM,GAAGL,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACD,MAAM,CAAC;EACjD,MAAME,OAAO,GAAGP,OAAO,CAACE,kBAAU,CAACM,cAAc,CAACD,OAAO,CAAC;EAC1D,MAAME,UAAU,GAAGT,OAAO,CAACE,kBAAU,CAACQ,KAAK,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EACnE,MAAMC,WAAW,GAAGd,OAAO,CAACE,kBAAU,CAACa,IAAI,CAACC,KAAK,CAACF,WAAW,CAAC;EAC9D,MAAMG,eAAe,GAAGjB,OAAO,CAACE,kBAAU,CAACa,IAAI,CAACC,KAAK,CAACC,eAAe,CAAC;EAEtE,OAAO;EACL;EACA,OAAOC,MAAM,EAAEC,IAAI,KAAK;IACtB,MAAMA,IAAI,CAAC;MACT,GAAGD,MAAM;MACTE,OAAO,EAAE;QACP,GAAG,IAAAC,wCAAmB,EAACpB,SAAS,EAAEM,OAAO,CAACe,GAAG,CAAC;QAE9C;QACA,GAAGJ,MAAM,CAACE;MACZ;IACF,CAAC,CAAC;EACJ,CAAC;EAED;EACA,OAAOF,MAAM,EAAEC,IAAI,KAAK;IACtB,MAAMI,eAAe,GAAG,IAAIC,eAAe,CAAC,CAAC;IAE7CP,eAAe,CAACQ,MAAM,CAACC,gBAAgB,CACrC,OAAO,EACP,MAAM;MACJH,eAAe,CAACI,KAAK,CAAC,CAAC;IACzB,CAAC,EACD;MAAEC,IAAI,EAAE;IAAK,CACf,CAAC;IAEDV,MAAM,CAACO,MAAM,EAAEC,gBAAgB,GAC7B,OAAO,EACP,MAAM;MACJH,eAAe,CAACI,KAAK,CAAC,CAAC;IACzB,CAAC,EACD;MAAEC,IAAI,EAAE;IAAK,CACf,CAAC;IAED,MAAMT,IAAI,CAAC;MAAE,GAAGD,MAAM;MAAEO,MAAM,EAAEF,eAAe,CAACE;IAAO,CAAC,CAAC;EAC3D,CAAC,EAEDI,sBAAU,CAACC,eAAe,CAAC,CAAC,EAC5B,IAAAC,8CAAsB,EAAC1B,MAAM,EAAEE,OAAO,CAACyB,GAAG,CAACC,MAAM,CAACC,OAAO,CAACC,WAAW,CAAC,EACtE,IAAAC,oBAAa,EAAC3B,UAAU,CAAC,EACzB,IAAA4B,uBAAgB,EAACvB,WAAW,CAAC,CAC9B;AACH"}
1
+ {"version":3,"file":"axios-middleware.js","names":["_tokens","require","_httpStatus","_axiosTracingMiddleware","_axios","_getForwardedHeaders","provideAxiosMiddleware","resolve","appConfig","KnownToken","Config","base","tracer","Tracing","context","ExpressHandler","logHandler","Axios","Middleware","Log","handler","abortController","Http","Fetch","config","next","headers","getForwardedHeaders","req","innerController","AbortController","signal","addEventListener","abort","once","HttpStatus","axiosMiddleware","axiosTracingMiddleware","res","locals","tracing","rootContext","logMiddleware"],"sources":["../../../../../src/preset/node-handler/providers/axios-middleware.ts"],"sourcesContent":["import { Middleware } from 'middleware-axios';\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { HttpStatus } from '../../isomorphic/utils/http-status';\nimport { axiosTracingMiddleware } from '../../node/utils/axios-tracing-middleware';\nimport { logMiddleware } from '../../../utils/axios';\nimport { getForwardedHeaders } from '../../node/utils/get-forwarded-headers';\n\n/**\n * Провайдер фабрики http-клиентов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Фабрика.\n */\nexport function provideAxiosMiddleware(resolve: Resolve): Middleware<any>[] {\n const appConfig = resolve(KnownToken.Config.base);\n const tracer = resolve(KnownToken.Tracing.tracer);\n const context = resolve(KnownToken.ExpressHandler.context);\n const logHandler = resolve(KnownToken.Axios.Middleware.Log.handler);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return [\n // пробрасываемые заголовки по соглашению\n async (config, next) => {\n await next({\n ...config,\n headers: {\n ...getForwardedHeaders(appConfig, context.req),\n\n // ВАЖНО: заголовки из конфига важнее, поэтому идут в конце\n ...config.headers,\n },\n });\n },\n\n // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса\n async (config, next) => {\n const innerController = new AbortController();\n\n abortController.signal.addEventListener(\n 'abort',\n () => {\n innerController.abort();\n },\n { once: true },\n );\n\n config.signal?.addEventListener?.(\n 'abort',\n () => {\n innerController.abort();\n },\n { once: true },\n );\n\n await next({ ...config, signal: innerController.signal });\n },\n\n HttpStatus.axiosMiddleware(),\n axiosTracingMiddleware(tracer, context.res.locals.tracing.rootContext),\n logMiddleware(logHandler),\n ];\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASK,sBAAsBA,CAACC,OAAgB,EAAqB;EAC1E,MAAMC,SAAS,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EACjD,MAAMC,MAAM,GAAGL,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACD,MAAM,CAAC;EACjD,MAAME,OAAO,GAAGP,OAAO,CAACE,kBAAU,CAACM,cAAc,CAACD,OAAO,CAAC;EAC1D,MAAME,UAAU,GAAGT,OAAO,CAACE,kBAAU,CAACQ,KAAK,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EACnE,MAAMC,eAAe,GAAGd,OAAO,CAACE,kBAAU,CAACa,IAAI,CAACC,KAAK,CAACF,eAAe,CAAC;EAEtE,OAAO;EACL;EACA,OAAOG,MAAM,EAAEC,IAAI,KAAK;IACtB,MAAMA,IAAI,CAAC;MACT,GAAGD,MAAM;MACTE,OAAO,EAAE;QACP,GAAG,IAAAC,wCAAmB,EAACnB,SAAS,EAAEM,OAAO,CAACc,GAAG,CAAC;QAE9C;QACA,GAAGJ,MAAM,CAACE;MACZ;IACF,CAAC,CAAC;EACJ,CAAC;EAED;EACA,OAAOF,MAAM,EAAEC,IAAI,KAAK;IACtB,MAAMI,eAAe,GAAG,IAAIC,eAAe,CAAC,CAAC;IAE7CT,eAAe,CAACU,MAAM,CAACC,gBAAgB,CACrC,OAAO,EACP,MAAM;MACJH,eAAe,CAACI,KAAK,CAAC,CAAC;IACzB,CAAC,EACD;MAAEC,IAAI,EAAE;IAAK,CACf,CAAC;IAEDV,MAAM,CAACO,MAAM,EAAEC,gBAAgB,GAC7B,OAAO,EACP,MAAM;MACJH,eAAe,CAACI,KAAK,CAAC,CAAC;IACzB,CAAC,EACD;MAAEC,IAAI,EAAE;IAAK,CACf,CAAC;IAED,MAAMT,IAAI,CAAC;MAAE,GAAGD,MAAM;MAAEO,MAAM,EAAEF,eAAe,CAACE;IAAO,CAAC,CAAC;EAC3D,CAAC,EAEDI,sBAAU,CAACC,eAAe,CAAC,CAAC,EAC5B,IAAAC,8CAAsB,EAACzB,MAAM,EAAEE,OAAO,CAACwB,GAAG,CAACC,MAAM,CAACC,OAAO,CAACC,WAAW,CAAC,EACtE,IAAAC,oBAAa,EAAC1B,UAAU,CAAC,CAC1B;AACH"}
@@ -21,7 +21,6 @@ function provideFetchMiddleware(resolve) {
21
21
  const tracer = resolve(_tokens.KnownToken.Tracing.tracer);
22
22
  const context = resolve(_tokens.KnownToken.ExpressHandler.context);
23
23
  const logHandler = resolve(_tokens.KnownToken.Http.Fetch.Middleware.Log.handler);
24
- const cookieStore = resolve(_tokens.KnownToken.Http.Fetch.cookieStore);
25
24
  const abortController = resolve(_tokens.KnownToken.Http.Fetch.abortController);
26
25
  return [
27
26
  // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше
@@ -29,7 +28,7 @@ function provideFetchMiddleware(resolve) {
29
28
  // пробрасываемые заголовки по соглашению
30
29
  (0, _http.defaultHeaders)((0, _getForwardedHeaders.getForwardedHeaders)(config, context.req)),
31
30
  // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса
32
- (0, _getFetchExtraAborting.getFetchExtraAborting)(abortController), (0, _http.cookie)(cookieStore), (0, _getFetchTracing.getFetchTracing)(tracer, context.res.locals.tracing.rootContext),
31
+ (0, _getFetchExtraAborting.getFetchExtraAborting)(abortController), (0, _getFetchTracing.getFetchTracing)(tracer, context.res.locals.tracing.rootContext),
33
32
  // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные
34
33
  (0, _getFetchLogging.getFetchLogging)(logHandler)];
35
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-middleware.js","names":["_http","require","_tokens","_getFetchErrorLogging","_getFetchExtraAborting","_getFetchLogging","_getFetchTracing","_getForwardedHeaders","provideFetchMiddleware","resolve","config","KnownToken","Config","base","tracer","Tracing","context","ExpressHandler","logHandler","Http","Fetch","Middleware","Log","handler","cookieStore","abortController","getFetchErrorLogging","defaultHeaders","getForwardedHeaders","req","getFetchExtraAborting","cookie","getFetchTracing","res","locals","tracing","rootContext","getFetchLogging"],"sources":["../../../../../src/preset/node-handler/providers/fetch-middleware.ts"],"sourcesContent":["import { Resolve } from '../../../di';\nimport { Middleware, cookie, defaultHeaders } from '../../../http';\nimport { KnownToken } from '../../../tokens';\nimport { getFetchErrorLogging } from '../../isomorphic/utils/get-fetch-error-logging';\nimport { getFetchExtraAborting } from '../../isomorphic/utils/get-fetch-extra-aborting';\nimport { getFetchLogging } from '../../isomorphic/utils/get-fetch-logging';\nimport { getFetchTracing } from '../../server/utils/get-fetch-tracing';\nimport { getForwardedHeaders } from '../../node/utils/get-forwarded-headers';\n\n/**\n * Провайдер промежуточных слоев для fetch.\n * @param resolve Функция для получения зависимости по токену.\n * @return Массив промежуточных слоев.\n */\nexport function provideFetchMiddleware(resolve: Resolve): Middleware[] {\n const config = resolve(KnownToken.Config.base);\n const tracer = resolve(KnownToken.Tracing.tracer);\n const context = resolve(KnownToken.ExpressHandler.context);\n const logHandler = resolve(KnownToken.Http.Fetch.Middleware.Log.handler);\n const cookieStore = resolve(KnownToken.Http.Fetch.cookieStore);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return [\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getFetchErrorLogging(logHandler),\n\n // пробрасываемые заголовки по соглашению\n defaultHeaders(getForwardedHeaders(config, context.req)),\n\n // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса\n getFetchExtraAborting(abortController),\n\n cookie(cookieStore),\n\n getFetchTracing(tracer, context.res.locals.tracing.rootContext),\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getFetchLogging(logHandler),\n ];\n}\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASO,sBAAsBA,CAACC,OAAgB,EAAgB;EACrE,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGL,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACD,MAAM,CAAC;EACjD,MAAME,OAAO,GAAGP,OAAO,CAACE,kBAAU,CAACM,cAAc,CAACD,OAAO,CAAC;EAC1D,MAAME,UAAU,GAAGT,OAAO,CAACE,kBAAU,CAACQ,IAAI,CAACC,KAAK,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EACxE,MAAMC,WAAW,GAAGf,OAAO,CAACE,kBAAU,CAACQ,IAAI,CAACC,KAAK,CAACI,WAAW,CAAC;EAC9D,MAAMC,eAAe,GAAGhB,OAAO,CAACE,kBAAU,CAACQ,IAAI,CAACC,KAAK,CAACK,eAAe,CAAC;EAEtE,OAAO;EACL;EACA,IAAAC,0CAAoB,EAACR,UAAU,CAAC;EAEhC;EACA,IAAAS,oBAAc,EAAC,IAAAC,wCAAmB,EAAClB,MAAM,EAAEM,OAAO,CAACa,GAAG,CAAC,CAAC;EAExD;EACA,IAAAC,4CAAqB,EAACL,eAAe,CAAC,EAEtC,IAAAM,YAAM,EAACP,WAAW,CAAC,EAEnB,IAAAQ,gCAAe,EAAClB,MAAM,EAAEE,OAAO,CAACiB,GAAG,CAACC,MAAM,CAACC,OAAO,CAACC,WAAW,CAAC;EAE/D;EACA,IAAAC,gCAAe,EAACnB,UAAU,CAAC,CAC5B;AACH"}
1
+ {"version":3,"file":"fetch-middleware.js","names":["_http","require","_tokens","_getFetchErrorLogging","_getFetchExtraAborting","_getFetchLogging","_getFetchTracing","_getForwardedHeaders","provideFetchMiddleware","resolve","config","KnownToken","Config","base","tracer","Tracing","context","ExpressHandler","logHandler","Http","Fetch","Middleware","Log","handler","abortController","getFetchErrorLogging","defaultHeaders","getForwardedHeaders","req","getFetchExtraAborting","getFetchTracing","res","locals","tracing","rootContext","getFetchLogging"],"sources":["../../../../../src/preset/node-handler/providers/fetch-middleware.ts"],"sourcesContent":["import { Resolve } from '../../../di';\nimport { Middleware, defaultHeaders } from '../../../http';\nimport { KnownToken } from '../../../tokens';\nimport { getFetchErrorLogging } from '../../isomorphic/utils/get-fetch-error-logging';\nimport { getFetchExtraAborting } from '../../isomorphic/utils/get-fetch-extra-aborting';\nimport { getFetchLogging } from '../../isomorphic/utils/get-fetch-logging';\nimport { getFetchTracing } from '../../server/utils/get-fetch-tracing';\nimport { getForwardedHeaders } from '../../node/utils/get-forwarded-headers';\n\n/**\n * Провайдер промежуточных слоев для fetch.\n * @param resolve Функция для получения зависимости по токену.\n * @return Массив промежуточных слоев.\n */\nexport function provideFetchMiddleware(resolve: Resolve): Middleware[] {\n const config = resolve(KnownToken.Config.base);\n const tracer = resolve(KnownToken.Tracing.tracer);\n const context = resolve(KnownToken.ExpressHandler.context);\n const logHandler = resolve(KnownToken.Http.Fetch.Middleware.Log.handler);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return [\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getFetchErrorLogging(logHandler),\n\n // пробрасываемые заголовки по соглашению\n defaultHeaders(getForwardedHeaders(config, context.req)),\n\n // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса\n getFetchExtraAborting(abortController),\n\n getFetchTracing(tracer, context.res.locals.tracing.rootContext),\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getFetchLogging(logHandler),\n ];\n}\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASO,sBAAsBA,CAACC,OAAgB,EAAgB;EACrE,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGL,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACD,MAAM,CAAC;EACjD,MAAME,OAAO,GAAGP,OAAO,CAACE,kBAAU,CAACM,cAAc,CAACD,OAAO,CAAC;EAC1D,MAAME,UAAU,GAAGT,OAAO,CAACE,kBAAU,CAACQ,IAAI,CAACC,KAAK,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EACxE,MAAMC,eAAe,GAAGf,OAAO,CAACE,kBAAU,CAACQ,IAAI,CAACC,KAAK,CAACI,eAAe,CAAC;EAEtE,OAAO;EACL;EACA,IAAAC,0CAAoB,EAACP,UAAU,CAAC;EAEhC;EACA,IAAAQ,oBAAc,EAAC,IAAAC,wCAAmB,EAACjB,MAAM,EAAEM,OAAO,CAACY,GAAG,CAAC,CAAC;EAExD;EACA,IAAAC,4CAAqB,EAACL,eAAe,CAAC,EAEtC,IAAAM,gCAAe,EAAChB,MAAM,EAAEE,OAAO,CAACe,GAAG,CAACC,MAAM,CAACC,OAAO,CAACC,WAAW,CAAC;EAE/D;EACA,IAAAC,gCAAe,EAACjB,UAAU,CAAC,CAC5B;AACH"}
@@ -19,26 +19,13 @@ function provideHandlerMain(resolve) {
19
19
  const context = resolve(_tokens.KnownToken.ExpressHandler.context);
20
20
  const render = resolve(_tokens.KnownToken.Http.Handler.Page.render);
21
21
  const assetsInit = resolve(_tokens.KnownToken.Http.Handler.Page.assets);
22
- const extras = resolve(_tokens.KnownToken.Http.Handler.Response.specificExtras);
23
22
  const Helmet = resolve(_tokens.KnownToken.Http.Handler.Page.helmet);
24
23
  const abortController = resolve(_tokens.KnownToken.Http.Fetch.abortController);
25
24
  const formatResponse = resolve(_tokens.KnownToken.Http.Handler.Page.formatResponse);
26
25
  const getAssets = typeof assetsInit === 'function' ? assetsInit : () => assetsInit;
27
-
28
- // @todo https://github.com/sima-land/isomorph/issues/69
29
- // const cookieStore = resolve(KnownToken.Http.Fetch.cookieStore);
30
- // cookieStore.subscribe(setCookieList => {
31
- // for (const setCookie of setCookieList) {
32
- // const parsed = parseSetCookieHeader(setCookie);
33
-
34
- // parsed && res.cookie(parsed.name, parsed.value, parsed.attrs);
35
- // }
36
- // });
37
-
38
26
  return async () => {
39
27
  try {
40
28
  const assets = await getAssets();
41
- const meta = extras.getMeta();
42
29
  const jsx = /*#__PURE__*/(0, _jsxRuntime.jsx)(_regularHelmet.HelmetContext.Provider, {
43
30
  value: {
44
31
  title: config.appName,
@@ -51,7 +38,7 @@ function provideHandlerMain(resolve) {
51
38
  const {
52
39
  body,
53
40
  headers
54
- } = await formatResponse(jsx, assets, meta);
41
+ } = await formatResponse(jsx, assets);
55
42
  headers.forEach((hValue, hName) => context.res.setHeader(hName, hValue));
56
43
  context.res.send(body);
57
44
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"handler-main.js","names":["_tokens","require","_regularHelmet","_formatHandlerError","_jsxRuntime","provideHandlerMain","resolve","config","KnownToken","Config","base","logger","context","ExpressHandler","render","Http","Handler","Page","assetsInit","assets","extras","Response","specificExtras","Helmet","helmet","abortController","Fetch","formatResponse","getAssets","meta","getMeta","jsx","HelmetContext","Provider","value","title","appName","children","body","headers","forEach","hValue","hName","res","setHeader","send","error","response","log","formatHandlerError","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 extras = resolve(KnownToken.Http.Handler.Response.specificExtras);\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 // @todo https://github.com/sima-land/isomorph/issues/69\n // const cookieStore = resolve(KnownToken.Http.Fetch.cookieStore);\n // cookieStore.subscribe(setCookieList => {\n // for (const setCookie of setCookieList) {\n // const parsed = parseSetCookieHeader(setCookie);\n\n // parsed && res.cookie(parsed.name, parsed.value, parsed.attrs);\n // }\n // });\n\n return async () => {\n try {\n const assets = await getAssets();\n const meta = extras.getMeta();\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, meta);\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":"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"}
1
+ {"version":3,"file":"handler-main.js","names":["_tokens","require","_regularHelmet","_formatHandlerError","_jsxRuntime","provideHandlerMain","resolve","config","KnownToken","Config","base","logger","context","ExpressHandler","render","Http","Handler","Page","assetsInit","assets","Helmet","helmet","abortController","Fetch","formatResponse","getAssets","jsx","HelmetContext","Provider","value","title","appName","children","body","headers","forEach","hValue","hName","res","setHeader","send","error","response","log","formatHandlerError","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":"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"}
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "HelmetContext", {
15
15
  return _regularHelmet.HelmetContext;
16
16
  }
17
17
  });
18
+ Object.defineProperty(exports, "PAGE_FORMAT_PRIORITY", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _constants.PAGE_FORMAT_PRIORITY;
22
+ }
23
+ });
18
24
  Object.defineProperty(exports, "PAGE_HANDLER_EVENT_TYPE", {
19
25
  enumerable: true,
20
26
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_constants","require","_applyServerMiddleware","_getClientIp","_getForwardedHeaders","_getHealthCheck","_getPageResponseFormat","_getServeErrorLogging","_getServeLogging","_handlerProvider","_regularHelmet","_specificExtras"],"sources":["../../../../src/preset/server/index.ts"],"sourcesContent":["export type { ServerHandler, ServerMiddleware, ServerHandlerContext } from './types';\nexport { PAGE_HANDLER_EVENT_TYPE } 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAGA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,sBAAA,GAAAL,OAAA;AACA,IAAAM,qBAAA,GAAAN,OAAA;AACA,IAAAO,gBAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA;AACA,IAAAS,cAAA,GAAAT,OAAA;AACA,IAAAU,eAAA,GAAAV,OAAA"}
1
+ {"version":3,"file":"index.js","names":["_constants","require","_applyServerMiddleware","_getClientIp","_getForwardedHeaders","_getHealthCheck","_getPageResponseFormat","_getServeErrorLogging","_getServeLogging","_handlerProvider","_regularHelmet","_specificExtras"],"sources":["../../../../src/preset/server/index.ts"],"sourcesContent":["export type {\n ServerHandler,\n ServerMiddleware,\n ServerHandlerContext,\n PageResponseFormatter,\n PageResponseFormatResult,\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAAA,UAAA,GAAAC,OAAA;AAGA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,sBAAA,GAAAL,OAAA;AACA,IAAAM,qBAAA,GAAAN,OAAA;AACA,IAAAO,gBAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA;AACA,IAAAS,cAAA,GAAAT,OAAA;AACA,IAAAU,eAAA,GAAAV,OAAA"}
@@ -16,7 +16,9 @@ function provideFormatPageResponse(resolve) {
16
16
  const config = resolve(_tokens.KnownToken.Config.base);
17
17
  const acceptType = resolve(_tokens.KnownToken.Http.Handler.Request.acceptType);
18
18
  const elementToString = resolve(_tokens.KnownToken.Http.Handler.Page.elementToString);
19
- return async (jsx, assets, meta) => {
19
+ const extras = resolve(_tokens.KnownToken.Http.Handler.Response.specificExtras);
20
+ return async (jsx, assets) => {
21
+ const meta = extras.getMeta();
20
22
  const headers = new Headers();
21
23
  let body;
22
24
  switch (acceptType(_constants.PAGE_FORMAT_PRIORITY)) {
@@ -51,6 +53,7 @@ function provideFormatPageResponse(resolve) {
51
53
 
52
54
  // ВАЖНО: DOCTYPE обязательно нужен так как влияет на то как браузер будет парсить html/css
53
55
  // ВАЖНО: DOCTYPE нужен только когда отдаем полноценную страницу
56
+ // @todo переделать на проверку параметра ?html-doctype=false
54
57
  if (config.env === 'development') {
55
58
  body = `<!DOCTYPE html>${await elementToString(jsx)}`;
56
59
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"format-page-response.js","names":["_tokens","require","_constants","provideFormatPageResponse","resolve","config","KnownToken","Config","base","acceptType","Http","Handler","Request","elementToString","Page","jsx","assets","meta","headers","Headers","body","PAGE_FORMAT_PRIORITY","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, meta) => {\n const headers = new Headers();\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 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,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,yBAAyBA,CAACC,OAAgB,EAAyB;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,UAAU,GAAGL,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACC,OAAO,CAACC,OAAO,CAACH,UAAU,CAAC;EACtE,MAAMI,eAAe,GAAGT,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACC,OAAO,CAACG,IAAI,CAACD,eAAe,CAAC;EAE7E,OAAO,OAAOE,GAAG,EAAEC,MAAM,EAAEC,IAAI,KAAK;IAClC,MAAMC,OAAO,GAAG,IAAIC,OAAO,CAAC,CAAC;IAC7B,IAAIC,IAAY;IAEhB,QAAQX,UAAU,CAACY,+BAAoB,CAAC;MACtC,KAAK,MAAM;QAAE;UACXH,OAAO,CAACI,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;UAE/CF,IAAI,GAAGG,IAAI,CAACC,SAAS,CAAC;YACpBC,MAAM,EAAE,MAAMZ,eAAe,CAACE,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;UACPC,OAAO,CAACI,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC;UACxCJ,OAAO,CAACI,GAAG,CAAC,oBAAoB,EAAEN,MAAM,CAACW,EAAE,CAAC;UAC5CT,OAAO,CAACI,GAAG,CAAC,qBAAqB,EAAEN,MAAM,CAACa,GAAG,CAAC;UAE9C,IAAIb,MAAM,CAACe,UAAU,EAAE;YACrBb,OAAO,CAACI,GAAG,CAAC,sBAAsB,EAAEN,MAAM,CAACe,UAAU,CAAC;UACxD;UAEA,IAAIf,MAAM,CAACiB,WAAW,EAAE;YACtBf,OAAO,CAACI,GAAG,CAAC,uBAAuB,EAAEN,MAAM,CAACiB,WAAW,CAAC;UAC1D;UAEA,IAAIhB,IAAI,EAAE;YACRC,OAAO,CAACI,GAAG,CAAC,eAAe,EAAEC,IAAI,CAACC,SAAS,CAACP,IAAI,CAAC,CAAC;UACpD;;UAEA;UACA;UACA,IAAIZ,MAAM,CAAC6B,GAAG,KAAK,aAAa,EAAE;YAChCd,IAAI,GAAI,kBAAiB,MAAMP,eAAe,CAACE,GAAG,CAAE,EAAC;UACvD,CAAC,MAAM;YACLK,IAAI,GAAG,MAAMP,eAAe,CAACE,GAAG,CAAC;UACnC;UAEA;QACF;IACF;IAEA,OAAO;MAAEK,IAAI;MAAEF;IAAQ,CAAC;EAC1B,CAAC;AACH"}
1
+ {"version":3,"file":"format-page-response.js","names":["_tokens","require","_constants","provideFormatPageResponse","resolve","config","KnownToken","Config","base","acceptType","Http","Handler","Request","elementToString","Page","extras","Response","specificExtras","jsx","assets","meta","getMeta","headers","Headers","body","PAGE_FORMAT_PRIORITY","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,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,yBAAyBA,CAACC,OAAgB,EAAyB;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,UAAU,GAAGL,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACC,OAAO,CAACC,OAAO,CAACH,UAAU,CAAC;EACtE,MAAMI,eAAe,GAAGT,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACC,OAAO,CAACG,IAAI,CAACD,eAAe,CAAC;EAC7E,MAAME,MAAM,GAAGX,OAAO,CAACE,kBAAU,CAACI,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,CAACgB,+BAAoB,CAAC;MACtC,KAAK,MAAM;QAAE;UACXH,OAAO,CAACI,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;UAE/CF,IAAI,GAAGG,IAAI,CAACC,SAAS,CAAC;YACpBC,MAAM,EAAE,MAAMhB,eAAe,CAACK,GAAG,CAAC;YAClCY,SAAS,EAAEX,MAAM,CAACY,EAAE;YACpBC,UAAU,EAAEb,MAAM,CAACc,GAAG;YACtBC,WAAW,EAAEf,MAAM,CAACgB,UAAU;YAC9BC,YAAY,EAAEjB,MAAM,CAACkB,WAAW;YAChCjB;UACF,CAA4B,CAAC;UAE7B;QACF;MAEA,KAAK,MAAM;MACX;QAAS;UACPE,OAAO,CAACI,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC;UACxCJ,OAAO,CAACI,GAAG,CAAC,oBAAoB,EAAEP,MAAM,CAACY,EAAE,CAAC;UAC5CT,OAAO,CAACI,GAAG,CAAC,qBAAqB,EAAEP,MAAM,CAACc,GAAG,CAAC;UAE9C,IAAId,MAAM,CAACgB,UAAU,EAAE;YACrBb,OAAO,CAACI,GAAG,CAAC,sBAAsB,EAAEP,MAAM,CAACgB,UAAU,CAAC;UACxD;UAEA,IAAIhB,MAAM,CAACkB,WAAW,EAAE;YACtBf,OAAO,CAACI,GAAG,CAAC,uBAAuB,EAAEP,MAAM,CAACkB,WAAW,CAAC;UAC1D;UAEA,IAAIjB,IAAI,EAAE;YACRE,OAAO,CAACI,GAAG,CAAC,eAAe,EAAEC,IAAI,CAACC,SAAS,CAACR,IAAI,CAAC,CAAC;UACpD;;UAEA;UACA;UACA;UACA,IAAIf,MAAM,CAACiC,GAAG,KAAK,aAAa,EAAE;YAChCd,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"}
@@ -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 meta: unknown,\n ): PageResponseFormatResult | Promise<PageResponseFormatResult>;\n}\n\nexport interface RenderToString {\n (jsx: JSX.Element): string | Promise<string>;\n}\n"],"mappings":""}
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"],"mappings":""}
@@ -23,6 +23,12 @@ function getForwardedHeaders(config, request) {
23
23
  result.set('X-Client-Ip', clientIp);
24
24
  }
25
25
 
26
+ // cookie
27
+ const cookie = request.headers.get('cookie');
28
+ if (cookie) {
29
+ result.set('cookie', cookie);
30
+ }
31
+
26
32
  // service headers
27
33
  request.headers.forEach((headerValue, headerName) => {
28
34
  if (headerName.toLowerCase().startsWith('simaland-') && headerName.toLowerCase() !== 'simaland-params') {
@@ -1 +1 @@
1
- {"version":3,"file":"get-forwarded-headers.js","names":["_getClientIp","require","getForwardedHeaders","config","request","result","Headers","set","appName","appVersion","clientIp","getClientIp","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\n if (clientIp) {\n result.set('X-Client-Ip', clientIp);\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,IAAAA,YAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,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,GAAG,IAAAC,wBAAW,EAACP,OAAO,CAAC;EAErC,IAAIM,QAAQ,EAAE;IACZL,MAAM,CAACE,GAAG,CAAC,aAAa,EAAEG,QAAQ,CAAC;EACrC;;EAEA;EACAN,OAAO,CAACQ,OAAO,CAACC,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;MACAX,MAAM,CAACE,GAAG,CAACQ,UAAU,EAAED,WAAW,CAAC;IACrC;EACF,CAAC,CAAC;EAEF,OAAOT,MAAM;AACf"}
1
+ {"version":3,"file":"get-forwarded-headers.js","names":["_getClientIp","require","getForwardedHeaders","config","request","result","Headers","set","appName","appVersion","clientIp","getClientIp","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,IAAAA,YAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,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,GAAG,IAAAC,wBAAW,EAACP,OAAO,CAAC;EACrC,IAAIM,QAAQ,EAAE;IACZL,MAAM,CAACE,GAAG,CAAC,aAAa,EAAEG,QAAQ,CAAC;EACrC;;EAEA;EACA,MAAME,MAAM,GAAGR,OAAO,CAACS,OAAO,CAACC,GAAG,CAAC,QAAQ,CAAC;EAC5C,IAAIF,MAAM,EAAE;IACVP,MAAM,CAACE,GAAG,CAAC,QAAQ,EAAEK,MAAM,CAAC;EAC9B;;EAEA;EACAR,OAAO,CAACS,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;MACAb,MAAM,CAACE,GAAG,CAACU,UAAU,EAAED,WAAW,CAAC;IACrC;EACF,CAAC,CAAC;EAEF,OAAOX,MAAM;AACf"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/http/types.ts"],"sourcesContent":["import { LogLevel } from '../log';\n\nexport type { Handler, Enhancer, Middleware, CookieStore } from '@krutoo/fetch-tools';\nexport type {\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n} from '@krutoo/fetch-tools/middleware';\n\nexport type URLSearchParamsInit = Record<string, string | number | boolean | undefined | null>;\n\nexport interface ResponseDone<T = unknown> {\n ok: true;\n data: T;\n error: null;\n status: number;\n statusText: string;\n}\n\nexport interface ResponseFail<T = unknown> {\n ok: false;\n data?: T;\n error: unknown;\n status?: number;\n statusText?: string;\n}\n\nexport type EitherResponse<T> = ResponseDone<T> | ResponseFail<T>;\n\nexport interface ResponseErrorInit {\n statusCode?: number;\n redirectLocation?: string;\n logLevel?: LogLevel | null;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/http/types.ts"],"sourcesContent":["import type { LogLevel } from '../log';\n\nexport type { Handler, Enhancer, Middleware, CookieStore } from '@krutoo/fetch-tools';\n\nexport type {\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n} from '@krutoo/fetch-tools/middleware';\n\nexport type URLSearchParamsInit = Record<string, string | number | boolean | undefined | null>;\n\nexport interface ResponseDone<T = unknown> {\n ok: true;\n data: T;\n error: null;\n status: number;\n statusText: string;\n}\n\nexport interface ResponseFail<T = unknown> {\n ok: false;\n data?: T;\n error: unknown;\n status?: number;\n statusText?: string;\n}\n\nexport type EitherResponse<T> = ResponseDone<T> | ResponseFail<T>;\n\nexport interface ResponseErrorInit {\n statusCode?: number;\n redirectLocation?: string;\n logLevel?: LogLevel | null;\n}\n"],"mappings":""}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@sima-land/isomorph",
4
- "version": "11.0.0-alpha.45",
4
+ "version": "11.0.0-alpha.46",
5
5
  "dependencies": {
6
6
  "@humanwhocodes/env": "^2.2.2",
7
7
  "@krutoo/fetch-tools": "^0.0.12",
@@ -10,7 +10,6 @@ import { provideFetchMiddleware } from "./providers/fetch-middleware.js";
10
10
  import { provideHandlerMain } from "./providers/handler-main.js";
11
11
  import { providePageHelmet } from "../server/providers/page-helmet.js";
12
12
  import { provideSpecificParams } from "./providers/specific-params.js";
13
- import { provideCookieStore } from "./providers/cookie-store.js";
14
13
  import { SpecificExtras } from "../server/utils/specific-extras.js";
15
14
  import { provideElementToString } from "../server/providers/element-to-string.js";
16
15
  import { provideFormatPageResponse } from "../server/providers/format-page-response.js";
@@ -29,7 +28,6 @@ export function PresetBunHandler(customize) {
29
28
  // http fetch
30
29
  preset.set(KnownToken.Http.fetch, provideFetch);
31
30
  preset.set(KnownToken.Http.Fetch.abortController, provideAbortController);
32
- preset.set(KnownToken.Http.Fetch.cookieStore, provideCookieStore);
33
31
  preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);
34
32
  preset.set(KnownToken.Http.Fetch.Middleware.Log.handler, provideFetchLogHandler);
35
33