@sitecore-content-sdk/nextjs 1.3.0-canary.9 → 1.4.0-canary.2

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 (234) hide show
  1. package/README.md +11 -11
  2. package/dist/cjs/client/index.js +10 -10
  3. package/dist/cjs/client/models.js +2 -2
  4. package/dist/cjs/client/sitecore-nextjs-client.js +160 -156
  5. package/dist/cjs/components/BYOCWrapper.js +31 -30
  6. package/dist/cjs/components/ComponentPropsContext.js +66 -59
  7. package/dist/cjs/components/FEaaSWrapper.js +33 -32
  8. package/dist/cjs/components/Link.js +117 -90
  9. package/dist/cjs/components/NextImage.js +66 -62
  10. package/dist/cjs/components/Placeholder.js +55 -50
  11. package/dist/cjs/components/RichText.js +133 -128
  12. package/dist/cjs/config/define-config.js +26 -25
  13. package/dist/cjs/config/index.js +5 -5
  14. package/dist/cjs/config-cli/define-cli-config.js +40 -39
  15. package/dist/cjs/config-cli/index.js +5 -5
  16. package/dist/cjs/editing/codegen/import-map.js +129 -118
  17. package/dist/cjs/editing/codegen/index.js +6 -6
  18. package/dist/cjs/editing/constants.js +10 -10
  19. package/dist/cjs/editing/editing-config-middleware.js +70 -69
  20. package/dist/cjs/editing/editing-render-middleware.js +145 -144
  21. package/dist/cjs/editing/feaas-render-middleware.js +102 -101
  22. package/dist/cjs/editing/index.js +19 -19
  23. package/dist/cjs/editing/render-middleware.js +46 -46
  24. package/dist/cjs/editing/utils.js +260 -257
  25. package/dist/cjs/index.js +132 -131
  26. package/dist/cjs/middleware/app-router-multisite-middleware.js +41 -20
  27. package/dist/cjs/middleware/index.js +30 -30
  28. package/dist/cjs/middleware/locale-middleware.js +85 -84
  29. package/dist/cjs/middleware/middleware.js +195 -192
  30. package/dist/cjs/middleware/multisite-middleware.js +141 -118
  31. package/dist/cjs/middleware/personalize-middleware.js +240 -236
  32. package/dist/cjs/middleware/redirects-middleware.js +323 -297
  33. package/dist/cjs/middleware/robots-middleware.js +45 -44
  34. package/dist/cjs/middleware/sitemap-middleware.js +50 -49
  35. package/dist/cjs/monitoring/healthcheck-middleware.js +31 -30
  36. package/dist/cjs/monitoring/index.js +5 -5
  37. package/dist/cjs/route-handler/editing-config-route-handler.js +110 -106
  38. package/dist/cjs/route-handler/editing-render-route-handler.js +270 -165
  39. package/dist/cjs/route-handler/index.js +11 -11
  40. package/dist/cjs/route-handler/robots-route-handler.js +69 -68
  41. package/dist/cjs/route-handler/sitemap-route-handler.js +66 -65
  42. package/dist/cjs/search/index.js +17 -0
  43. package/dist/cjs/services/component-props-service.js +142 -138
  44. package/dist/cjs/sharedTypes/component-props.js +2 -2
  45. package/dist/cjs/sharedTypes/sitecore-page-props.js +2 -2
  46. package/dist/cjs/site/index.js +5 -5
  47. package/dist/cjs/tools/codegen/import-map.js +15 -0
  48. package/dist/cjs/tools/component-props.loader.js +95 -95
  49. package/dist/cjs/tools/generate-map.js +317 -317
  50. package/dist/cjs/tools/index.js +14 -13
  51. package/dist/cjs/tools/templating/byoc-component.js +36 -36
  52. package/dist/cjs/tools/templating/constants.js +7 -7
  53. package/dist/cjs/tools/templating/default-component.js +35 -35
  54. package/dist/cjs/tools/templating/utils.js +200 -0
  55. package/dist/cjs/utils/index.js +14 -14
  56. package/dist/cjs/utils/utils.js +82 -73
  57. package/dist/esm/client/index.js +2 -2
  58. package/dist/esm/client/models.js +1 -1
  59. package/dist/esm/client/sitecore-nextjs-client.js +156 -152
  60. package/dist/esm/components/BYOCWrapper.js +27 -26
  61. package/dist/esm/components/ComponentPropsContext.js +28 -21
  62. package/dist/esm/components/FEaaSWrapper.js +29 -28
  63. package/dist/esm/components/Link.js +78 -51
  64. package/dist/esm/components/NextImage.js +60 -56
  65. package/dist/esm/components/Placeholder.js +18 -13
  66. package/dist/esm/components/RichText.js +96 -91
  67. package/dist/esm/config/define-config.js +21 -20
  68. package/dist/esm/config/index.js +1 -1
  69. package/dist/esm/config-cli/define-cli-config.js +36 -35
  70. package/dist/esm/config-cli/index.js +1 -1
  71. package/dist/esm/editing/codegen/import-map.js +92 -81
  72. package/dist/esm/editing/codegen/index.js +1 -1
  73. package/dist/esm/editing/constants.js +7 -7
  74. package/dist/esm/editing/editing-config-middleware.js +66 -65
  75. package/dist/esm/editing/editing-render-middleware.js +141 -140
  76. package/dist/esm/editing/feaas-render-middleware.js +98 -97
  77. package/dist/esm/editing/index.js +6 -6
  78. package/dist/esm/editing/render-middleware.js +42 -42
  79. package/dist/esm/editing/utils.js +246 -243
  80. package/dist/esm/index.js +25 -25
  81. package/dist/esm/middleware/app-router-multisite-middleware.js +37 -16
  82. package/dist/esm/middleware/index.js +11 -11
  83. package/dist/esm/middleware/locale-middleware.js +81 -80
  84. package/dist/esm/middleware/middleware.js +189 -186
  85. package/dist/esm/middleware/multisite-middleware.js +137 -114
  86. package/dist/esm/middleware/personalize-middleware.js +236 -232
  87. package/dist/esm/middleware/redirects-middleware.js +316 -290
  88. package/dist/esm/middleware/robots-middleware.js +41 -40
  89. package/dist/esm/middleware/sitemap-middleware.js +46 -45
  90. package/dist/esm/monitoring/healthcheck-middleware.js +27 -26
  91. package/dist/esm/monitoring/index.js +1 -1
  92. package/dist/esm/route-handler/editing-config-route-handler.js +106 -102
  93. package/dist/esm/route-handler/editing-render-route-handler.js +265 -160
  94. package/dist/esm/route-handler/index.js +4 -4
  95. package/dist/esm/route-handler/robots-route-handler.js +65 -64
  96. package/dist/esm/route-handler/sitemap-route-handler.js +63 -62
  97. package/dist/esm/search/index.js +1 -0
  98. package/dist/esm/services/component-props-service.js +135 -131
  99. package/dist/esm/sharedTypes/component-props.js +1 -1
  100. package/dist/esm/sharedTypes/sitecore-page-props.js +1 -1
  101. package/dist/esm/site/index.js +1 -1
  102. package/dist/esm/tools/codegen/import-map.js +11 -0
  103. package/dist/esm/tools/component-props.loader.js +59 -59
  104. package/dist/esm/tools/generate-map.js +279 -279
  105. package/dist/esm/tools/index.js +3 -2
  106. package/dist/esm/tools/templating/byoc-component.js +30 -30
  107. package/dist/esm/tools/templating/constants.js +4 -4
  108. package/dist/esm/tools/templating/default-component.js +29 -29
  109. package/dist/esm/tools/templating/utils.js +190 -0
  110. package/dist/esm/utils/index.js +3 -3
  111. package/dist/esm/utils/utils.js +74 -65
  112. package/package.json +87 -13
  113. package/search.d.ts +1 -0
  114. package/types/client/index.d.ts +3 -2
  115. package/types/client/index.d.ts.map +1 -0
  116. package/types/client/models.d.ts +9 -8
  117. package/types/client/models.d.ts.map +1 -0
  118. package/types/client/sitecore-nextjs-client.d.ts +68 -63
  119. package/types/client/sitecore-nextjs-client.d.ts.map +1 -0
  120. package/types/components/BYOCWrapper.d.ts +16 -14
  121. package/types/components/BYOCWrapper.d.ts.map +1 -0
  122. package/types/components/ComponentPropsContext.d.ts +30 -18
  123. package/types/components/ComponentPropsContext.d.ts.map +1 -0
  124. package/types/components/FEaaSWrapper.d.ts +17 -15
  125. package/types/components/FEaaSWrapper.d.ts.map +1 -0
  126. package/types/components/Link.d.ts +25 -15
  127. package/types/components/Link.d.ts.map +1 -0
  128. package/types/components/NextImage.d.ts +11 -6
  129. package/types/components/NextImage.d.ts.map +1 -0
  130. package/types/components/Placeholder.d.ts +14 -8
  131. package/types/components/Placeholder.d.ts.map +1 -0
  132. package/types/components/RichText.d.ts +35 -25
  133. package/types/components/RichText.d.ts.map +1 -0
  134. package/types/config/define-config.d.ts +42 -38
  135. package/types/config/define-config.d.ts.map +1 -0
  136. package/types/config/index.d.ts +2 -1
  137. package/types/config/index.d.ts.map +1 -0
  138. package/types/config-cli/define-cli-config.d.ts +10 -8
  139. package/types/config-cli/define-cli-config.d.ts.map +1 -0
  140. package/types/config-cli/index.d.ts +2 -1
  141. package/types/config-cli/index.d.ts.map +1 -0
  142. package/types/editing/codegen/import-map.d.ts +15 -3
  143. package/types/editing/codegen/import-map.d.ts.map +1 -0
  144. package/types/editing/codegen/index.d.ts +3 -2
  145. package/types/editing/codegen/index.d.ts.map +1 -0
  146. package/types/editing/constants.d.ts +8 -7
  147. package/types/editing/constants.d.ts.map +1 -0
  148. package/types/editing/editing-config-middleware.d.ts +37 -31
  149. package/types/editing/editing-config-middleware.d.ts.map +1 -0
  150. package/types/editing/editing-render-middleware.d.ts +47 -44
  151. package/types/editing/editing-render-middleware.d.ts.map +1 -0
  152. package/types/editing/feaas-render-middleware.d.ts +35 -32
  153. package/types/editing/feaas-render-middleware.d.ts.map +1 -0
  154. package/types/editing/index.d.ts +7 -6
  155. package/types/editing/index.d.ts.map +1 -0
  156. package/types/editing/render-middleware.d.ts +26 -25
  157. package/types/editing/render-middleware.d.ts.map +1 -0
  158. package/types/editing/utils.d.ts +110 -106
  159. package/types/editing/utils.d.ts.map +1 -0
  160. package/types/index.d.ts +25 -24
  161. package/types/index.d.ts.map +1 -0
  162. package/types/middleware/app-router-multisite-middleware.d.ts +28 -13
  163. package/types/middleware/app-router-multisite-middleware.d.ts.map +1 -0
  164. package/types/middleware/index.d.ts +12 -11
  165. package/types/middleware/index.d.ts.map +1 -0
  166. package/types/middleware/locale-middleware.d.ts +35 -32
  167. package/types/middleware/locale-middleware.d.ts.map +1 -0
  168. package/types/middleware/middleware.d.ts +135 -127
  169. package/types/middleware/middleware.d.ts.map +1 -0
  170. package/types/middleware/multisite-middleware.d.ts +54 -37
  171. package/types/middleware/multisite-middleware.d.ts.map +1 -0
  172. package/types/middleware/personalize-middleware.d.ts +81 -65
  173. package/types/middleware/personalize-middleware.d.ts.map +1 -0
  174. package/types/middleware/redirects-middleware.d.ts +68 -65
  175. package/types/middleware/redirects-middleware.d.ts.map +1 -0
  176. package/types/middleware/robots-middleware.d.ts +15 -13
  177. package/types/middleware/robots-middleware.d.ts.map +1 -0
  178. package/types/middleware/sitemap-middleware.d.ts +16 -14
  179. package/types/middleware/sitemap-middleware.d.ts.map +1 -0
  180. package/types/monitoring/healthcheck-middleware.d.ts +14 -12
  181. package/types/monitoring/healthcheck-middleware.d.ts.map +1 -0
  182. package/types/monitoring/index.d.ts +2 -1
  183. package/types/monitoring/index.d.ts.map +1 -0
  184. package/types/route-handler/editing-config-route-handler.d.ts +30 -24
  185. package/types/route-handler/editing-config-route-handler.d.ts.map +1 -0
  186. package/types/route-handler/editing-render-route-handler.d.ts +33 -25
  187. package/types/route-handler/editing-render-route-handler.d.ts.map +1 -0
  188. package/types/route-handler/index.d.ts +5 -4
  189. package/types/route-handler/index.d.ts.map +1 -0
  190. package/types/route-handler/robots-route-handler.d.ts +30 -28
  191. package/types/route-handler/robots-route-handler.d.ts.map +1 -0
  192. package/types/route-handler/sitemap-route-handler.d.ts +30 -28
  193. package/types/route-handler/sitemap-route-handler.d.ts.map +1 -0
  194. package/types/search/index.d.ts +2 -0
  195. package/types/search/index.d.ts.map +1 -0
  196. package/types/services/component-props-service.d.ts +62 -57
  197. package/types/services/component-props-service.d.ts.map +1 -0
  198. package/types/sharedTypes/component-props.d.ts +62 -47
  199. package/types/sharedTypes/component-props.d.ts.map +1 -0
  200. package/types/sharedTypes/sitecore-page-props.d.ts +14 -9
  201. package/types/sharedTypes/sitecore-page-props.d.ts.map +1 -0
  202. package/types/site/index.d.ts +2 -1
  203. package/types/site/index.d.ts.map +1 -0
  204. package/types/tools/codegen/import-map.d.ts +10 -0
  205. package/types/tools/codegen/import-map.d.ts.map +1 -0
  206. package/types/tools/component-props.loader.d.ts +8 -7
  207. package/types/tools/component-props.loader.d.ts.map +1 -0
  208. package/types/tools/generate-map.d.ts +26 -24
  209. package/types/tools/generate-map.d.ts.map +1 -0
  210. package/types/tools/index.d.ts +4 -2
  211. package/types/tools/index.d.ts.map +1 -0
  212. package/types/tools/templating/byoc-component.d.ts +3 -2
  213. package/types/tools/templating/byoc-component.d.ts.map +1 -0
  214. package/types/tools/templating/constants.d.ts +5 -4
  215. package/types/tools/templating/constants.d.ts.map +1 -0
  216. package/types/tools/templating/default-component.d.ts +3 -2
  217. package/types/tools/templating/default-component.d.ts.map +1 -0
  218. package/types/tools/templating/utils.d.ts +44 -0
  219. package/types/tools/templating/utils.d.ts.map +1 -0
  220. package/types/utils/index.d.ts +4 -3
  221. package/types/utils/index.d.ts.map +1 -0
  222. package/types/utils/utils.d.ts +34 -24
  223. package/types/utils/utils.d.ts.map +1 -0
  224. package/client.js +0 -1
  225. package/codegen.js +0 -1
  226. package/config-cli.js +0 -1
  227. package/config.js +0 -1
  228. package/editing.js +0 -1
  229. package/middleware.js +0 -1
  230. package/monitoring.js +0 -1
  231. package/route-handler.js +0 -1
  232. package/site.js +0 -1
  233. package/tools.js +0 -1
  234. package/utils.js +0 -1
@@ -1,114 +1,137 @@
1
- /* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- import { getSiteRewrite, SITE_KEY } from '@sitecore-content-sdk/core/site';
12
- import { debug } from '@sitecore-content-sdk/core';
13
- import { MiddlewareBase, REWRITE_HEADER_NAME } from './middleware';
14
- import { PREVIEW_KEY } from '@sitecore-content-sdk/core/editing';
15
- /**
16
- * Middleware / handler for multisite support
17
- */
18
- export class MultisiteMiddleware extends MiddlewareBase {
19
- /**
20
- * @param {MultisiteMiddlewareConfig} [config] Multisite middleware config
21
- */
22
- constructor(config) {
23
- super(config);
24
- this.config = config;
25
- this.handle = (req, res) => __awaiter(this, void 0, void 0, function* () {
26
- var _a, _b, _c;
27
- try {
28
- // Path can be rewritten by previously executed middleware
29
- const pathname = (res === null || res === void 0 ? void 0 : res.headers.get(REWRITE_HEADER_NAME)) || req.nextUrl.pathname;
30
- const language = this.getLanguage(req, res);
31
- const hostname = this.getHostHeader(req) || this.defaultHostname;
32
- const startTimestamp = Date.now();
33
- debug.multisite('multisite middleware start: %o', {
34
- pathname,
35
- language,
36
- hostname,
37
- });
38
- // We can't skip site name preservation for App Router in Preview since currently we rely on the site segment
39
- // to be present in the path.
40
- if (this.isPreview(req) && !this.isAppRouter(res)) {
41
- debug.multisite('skipped (preview)');
42
- return res;
43
- }
44
- // Site name preservation is required for Sitecore Preview mode to support navigation between pages
45
- const isSitecorePreview = (_a = req.cookies.get(PREVIEW_KEY)) === null || _a === void 0 ? void 0 : _a.value;
46
- if (!isSitecorePreview) {
47
- if (!this.config.enabled) {
48
- debug.multisite('skipped (multisite middleware is disabled globally)');
49
- return res;
50
- }
51
- if (this.disabled(req, res)) {
52
- debug.multisite('skipped (multisite middleware is disabled)');
53
- return res;
54
- }
55
- }
56
- let siteName;
57
- if (isSitecorePreview) {
58
- // This cookie is required to be set in the Sitecore Preview mode to support navigation
59
- // and preserve the site name
60
- siteName = (_b = req.cookies.get(SITE_KEY)) === null || _b === void 0 ? void 0 : _b.value;
61
- }
62
- else {
63
- // Site name can be forced by query string parameter or cookie
64
- // 'site' is provided when running "preview" in AppRouter
65
- siteName =
66
- req.nextUrl.searchParams.get(SITE_KEY) ||
67
- req.nextUrl.searchParams.get('site') ||
68
- (this.config.useCookieResolution &&
69
- this.config.useCookieResolution(req) &&
70
- ((_c = req.cookies.get(SITE_KEY)) === null || _c === void 0 ? void 0 : _c.value)) ||
71
- this.siteResolver.getByHost(hostname).name;
72
- }
73
- // Rewrite to site specific path
74
- const rewritePath = this.getSiteRewrite(pathname, siteName);
75
- const response = this.rewrite(rewritePath, req, res);
76
- // default site cookie attributes
77
- const defaultCookieAttributes = {
78
- secure: true,
79
- httpOnly: true,
80
- sameSite: 'none',
81
- };
82
- // Share site name with the following executed middlewares
83
- response.cookies.set(SITE_KEY, siteName, defaultCookieAttributes);
84
- debug.multisite('multisite middleware end in %dms: %o', Date.now() - startTimestamp, {
85
- rewritePath,
86
- siteName,
87
- headers: this.extractDebugHeaders(response.headers),
88
- cookies: response.cookies,
89
- });
90
- return response;
91
- }
92
- catch (error) {
93
- console.log('Multisite middleware failed:');
94
- console.log(error);
95
- return res;
96
- }
97
- });
98
- }
99
- disabled(req, res) {
100
- // ignore files
101
- return req.nextUrl.pathname.includes('.') || super.disabled(req, res);
102
- }
103
- /**
104
- * Generates a site-specific rewrite path based on the provided pathname and site name.
105
- * @param {string} pathname - The pathname to be rewritten.
106
- * @param {string} siteName - The name of the site.
107
- * @returns The rewritten path as a string.
108
- */
109
- getSiteRewrite(pathname, siteName) {
110
- return getSiteRewrite(pathname, {
111
- siteName,
112
- });
113
- }
114
- }
1
+ /* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ import { getSiteRewrite, SITE_KEY } from '@sitecore-content-sdk/core/site';
12
+ import { debug } from '@sitecore-content-sdk/core';
13
+ import { MiddlewareBase, REWRITE_HEADER_NAME } from './middleware';
14
+ import { PREVIEW_KEY } from '@sitecore-content-sdk/core/editing';
15
+ /**
16
+ * Middleware / handler for multisite support
17
+ * @public
18
+ */
19
+ export class MultisiteMiddleware extends MiddlewareBase {
20
+ /**
21
+ * @param {MultisiteMiddlewareConfig} [config] Multisite middleware config
22
+ */
23
+ constructor(config) {
24
+ super(config);
25
+ this.config = config;
26
+ this.handle = (req, res) => __awaiter(this, void 0, void 0, function* () {
27
+ var _a, _b, _c;
28
+ try {
29
+ // Path can be rewritten by previously executed middleware
30
+ const pathname = (res === null || res === void 0 ? void 0 : res.headers.get(REWRITE_HEADER_NAME)) || req.nextUrl.pathname;
31
+ const language = this.getLanguage(req, res);
32
+ const hostname = this.getHostHeader(req) || this.defaultHostname;
33
+ const startTimestamp = Date.now();
34
+ debug.multisite('multisite middleware start: %o', {
35
+ pathname,
36
+ language,
37
+ hostname,
38
+ });
39
+ // We can't skip site name preservation for App Router in Preview since currently we rely on the site segment
40
+ // to be present in the path.
41
+ // Additionally, App Router route structure always requires [site] segment, so disabling multisite
42
+ // will break regular requests even though Preview/Editing modes will still work.
43
+ if (this.isPreview(req) && !this.isAppRouter(res)) {
44
+ debug.multisite('skipped (preview)');
45
+ return res;
46
+ }
47
+ // Site name preservation is required for Sitecore Preview mode to support navigation between pages
48
+ const isSitecorePreview = (_a = req.cookies.get(PREVIEW_KEY)) === null || _a === void 0 ? void 0 : _a.value;
49
+ if (!isSitecorePreview) {
50
+ if (!this.config.enabled) {
51
+ this.shouldWarnWhenDisabled(res);
52
+ if (this.shouldSkipWhenDisabled()) {
53
+ debug.multisite('skipped (multisite middleware is disabled globally)');
54
+ return res;
55
+ }
56
+ // Continue execution if shouldSkipWhenDisabled returns false (App Router case)
57
+ }
58
+ if (this.disabled(req, res)) {
59
+ debug.multisite('skipped (multisite middleware is disabled)');
60
+ return res;
61
+ }
62
+ }
63
+ let siteName;
64
+ if (isSitecorePreview) {
65
+ // This cookie is required to be set in the Sitecore Preview mode to support navigation
66
+ // and preserve the site name
67
+ siteName = (_b = req.cookies.get(SITE_KEY)) === null || _b === void 0 ? void 0 : _b.value;
68
+ }
69
+ else {
70
+ // Site name can be forced by query string parameter or cookie
71
+ // 'site' is provided when running "preview" in AppRouter
72
+ siteName =
73
+ req.nextUrl.searchParams.get(SITE_KEY) ||
74
+ req.nextUrl.searchParams.get('site') ||
75
+ (this.config.useCookieResolution &&
76
+ this.config.useCookieResolution(req) &&
77
+ ((_c = req.cookies.get(SITE_KEY)) === null || _c === void 0 ? void 0 : _c.value)) ||
78
+ this.siteResolver.getByHost(hostname).name;
79
+ }
80
+ // Rewrite to site specific path
81
+ const rewritePath = this.getSiteRewrite(pathname, siteName);
82
+ const response = this.rewrite(rewritePath, req, res);
83
+ // default site cookie attributes
84
+ const defaultCookieAttributes = {
85
+ secure: true,
86
+ httpOnly: true,
87
+ sameSite: 'none',
88
+ };
89
+ // Share site name with the following executed middlewares
90
+ response.cookies.set(SITE_KEY, siteName, defaultCookieAttributes);
91
+ debug.multisite('multisite middleware end in %dms: %o', Date.now() - startTimestamp, {
92
+ rewritePath,
93
+ siteName,
94
+ headers: this.extractDebugHeaders(response.headers),
95
+ cookies: response.cookies,
96
+ });
97
+ return response;
98
+ }
99
+ catch (error) {
100
+ console.log('Multisite middleware failed:');
101
+ console.log(error);
102
+ return res;
103
+ }
104
+ });
105
+ }
106
+ disabled(req, res) {
107
+ // ignore files
108
+ return req.nextUrl.pathname.includes('.') || super.disabled(req, res);
109
+ }
110
+ /**
111
+ * Called when multisite is disabled. Override this method in subclasses to show router-specific warnings.
112
+ * @param {NextResponse} _res response
113
+ */
114
+ // eslint-disable-next-line no-unused-vars
115
+ shouldWarnWhenDisabled(_res) {
116
+ // Base implementation does nothing - subclasses can override to show warnings
117
+ }
118
+ /**
119
+ * Determines if middleware should be skipped when multisite is disabled.
120
+ * Override in subclasses to provide router-specific behavior.
121
+ * @returns {boolean} true if middleware should be skipped when disabled
122
+ */
123
+ shouldSkipWhenDisabled() {
124
+ return true; // Base class skips when disabled
125
+ }
126
+ /**
127
+ * Generates a site-specific rewrite path based on the provided pathname and site name.
128
+ * @param {string} pathname - The pathname to be rewritten.
129
+ * @param {string} siteName - The name of the site.
130
+ * @returns The rewritten path as a string.
131
+ */
132
+ getSiteRewrite(pathname, siteName) {
133
+ return getSiteRewrite(pathname, {
134
+ siteName,
135
+ });
136
+ }
137
+ }