@sitecore-content-sdk/nextjs 1.4.0-canary.16 → 1.4.0-canary.17

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 (55) hide show
  1. package/dist/cjs/client/sitecore-nextjs-client.js +1 -1
  2. package/dist/cjs/editing/feaas-render-middleware.js +1 -1
  3. package/dist/cjs/middleware/index.js +1 -24
  4. package/dist/cjs/{middleware/app-router-multisite-middleware.js → proxy/app-router-multisite-proxy.js} +8 -8
  5. package/dist/cjs/proxy/index.js +26 -0
  6. package/dist/cjs/{middleware/locale-middleware.js → proxy/locale-proxy.js} +13 -13
  7. package/dist/cjs/{middleware/multisite-middleware.js → proxy/multisite-proxy.js} +16 -16
  8. package/dist/cjs/{middleware/personalize-middleware.js → proxy/personalize-proxy.js} +18 -18
  9. package/dist/cjs/{middleware/middleware.js → proxy/proxy.js} +25 -25
  10. package/dist/cjs/{middleware/redirects-middleware.js → proxy/redirects-proxy.js} +32 -26
  11. package/dist/cjs/route-handler/robots-route-handler.js +6 -1
  12. package/dist/cjs/route-handler/sitemap-route-handler.js +6 -1
  13. package/dist/cjs/utils/utils.js +2 -2
  14. package/dist/esm/client/sitecore-nextjs-client.js +1 -1
  15. package/dist/esm/editing/feaas-render-middleware.js +1 -1
  16. package/dist/esm/middleware/index.js +0 -9
  17. package/dist/esm/{middleware/app-router-multisite-middleware.js → proxy/app-router-multisite-proxy.js} +6 -6
  18. package/dist/esm/proxy/index.js +9 -0
  19. package/dist/esm/{middleware/locale-middleware.js → proxy/locale-proxy.js} +10 -10
  20. package/dist/esm/{middleware/multisite-middleware.js → proxy/multisite-proxy.js} +13 -13
  21. package/dist/esm/{middleware/personalize-middleware.js → proxy/personalize-proxy.js} +15 -15
  22. package/dist/esm/{middleware/middleware.js → proxy/proxy.js} +21 -21
  23. package/dist/esm/{middleware/redirects-middleware.js → proxy/redirects-proxy.js} +28 -22
  24. package/dist/esm/route-handler/robots-route-handler.js +6 -1
  25. package/dist/esm/route-handler/sitemap-route-handler.js +6 -1
  26. package/dist/esm/utils/utils.js +1 -1
  27. package/package.json +12 -7
  28. package/proxy.d.ts +1 -0
  29. package/types/editing/editing-config-middleware.d.ts.map +1 -1
  30. package/types/editing/feaas-render-middleware.d.ts +1 -1
  31. package/types/middleware/index.d.ts +0 -9
  32. package/types/middleware/index.d.ts.map +1 -1
  33. package/types/{middleware/app-router-multisite-middleware.d.ts → proxy/app-router-multisite-proxy.d.ts} +6 -6
  34. package/types/proxy/app-router-multisite-proxy.d.ts.map +1 -0
  35. package/types/proxy/index.d.ts +10 -0
  36. package/types/proxy/index.d.ts.map +1 -0
  37. package/types/proxy/locale-proxy.d.ts +35 -0
  38. package/types/proxy/locale-proxy.d.ts.map +1 -0
  39. package/types/{middleware/multisite-middleware.d.ts → proxy/multisite-proxy.d.ts} +11 -11
  40. package/types/proxy/multisite-proxy.d.ts.map +1 -0
  41. package/types/{middleware/personalize-middleware.d.ts → proxy/personalize-proxy.d.ts} +9 -9
  42. package/types/proxy/personalize-proxy.d.ts.map +1 -0
  43. package/types/{middleware/middleware.d.ts → proxy/proxy.d.ts} +22 -24
  44. package/types/proxy/proxy.d.ts.map +1 -0
  45. package/types/{middleware/redirects-middleware.d.ts → proxy/redirects-proxy.d.ts} +10 -10
  46. package/types/proxy/redirects-proxy.d.ts.map +1 -0
  47. package/types/route-handler/robots-route-handler.d.ts.map +1 -1
  48. package/types/route-handler/sitemap-route-handler.d.ts.map +1 -1
  49. package/types/middleware/app-router-multisite-middleware.d.ts.map +0 -1
  50. package/types/middleware/locale-middleware.d.ts +0 -35
  51. package/types/middleware/locale-middleware.d.ts.map +0 -1
  52. package/types/middleware/middleware.d.ts.map +0 -1
  53. package/types/middleware/multisite-middleware.d.ts.map +0 -1
  54. package/types/middleware/personalize-middleware.d.ts.map +0 -1
  55. package/types/middleware/redirects-middleware.d.ts.map +0 -1
@@ -31,7 +31,7 @@ class SitecoreNextjsClient extends client_1.SitecoreClient {
31
31
  */
32
32
  getSiteNameFromPath(path) {
33
33
  const resolvedPath = super.parsePath(path);
34
- // Get site name (from path rewritten in middleware)
34
+ // Get site name (from path rewritten in proxy)
35
35
  const siteData = (0, site_1.getSiteRewriteData)(resolvedPath, this.initOptions.defaultSite);
36
36
  return siteData.siteName;
37
37
  }
@@ -22,7 +22,7 @@ const utils_2 = require("@sitecore-content-sdk/core/utils");
22
22
  */
23
23
  class FEAASRenderMiddleware extends render_middleware_1.RenderMiddlewareBase {
24
24
  /**
25
- * @param {EditingRenderMiddlewareConfig} [config] Editing render middleware config
25
+ * @param {FEAASRenderMiddlewareConfig} [config] FEAAS render middleware config
26
26
  */
27
27
  constructor(config) {
28
28
  var _a;
@@ -1,30 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.REDIRECT_TYPE_SERVER_TRANSFER = exports.REDIRECT_TYPE_302 = exports.REDIRECT_TYPE_301 = exports.RedirectsService = exports.PersonalizeService = exports.LocaleMiddleware = exports.RobotsMiddleware = exports.SitemapMiddleware = exports.AppRouterMultisiteMiddleware = exports.MultisiteMiddleware = exports.PersonalizeMiddleware = exports.RedirectsMiddleware = exports.defineMiddleware = exports.Middleware = exports.MiddlewareBase = exports.debug = void 0;
4
- var core_1 = require("@sitecore-content-sdk/core");
5
- Object.defineProperty(exports, "debug", { enumerable: true, get: function () { return core_1.debug; } });
6
- var middleware_1 = require("./middleware");
7
- Object.defineProperty(exports, "MiddlewareBase", { enumerable: true, get: function () { return middleware_1.MiddlewareBase; } });
8
- Object.defineProperty(exports, "Middleware", { enumerable: true, get: function () { return middleware_1.Middleware; } });
9
- Object.defineProperty(exports, "defineMiddleware", { enumerable: true, get: function () { return middleware_1.defineMiddleware; } });
10
- var redirects_middleware_1 = require("./redirects-middleware");
11
- Object.defineProperty(exports, "RedirectsMiddleware", { enumerable: true, get: function () { return redirects_middleware_1.RedirectsMiddleware; } });
12
- var personalize_middleware_1 = require("./personalize-middleware");
13
- Object.defineProperty(exports, "PersonalizeMiddleware", { enumerable: true, get: function () { return personalize_middleware_1.PersonalizeMiddleware; } });
14
- var multisite_middleware_1 = require("./multisite-middleware");
15
- Object.defineProperty(exports, "MultisiteMiddleware", { enumerable: true, get: function () { return multisite_middleware_1.MultisiteMiddleware; } });
16
- var app_router_multisite_middleware_1 = require("./app-router-multisite-middleware");
17
- Object.defineProperty(exports, "AppRouterMultisiteMiddleware", { enumerable: true, get: function () { return app_router_multisite_middleware_1.AppRouterMultisiteMiddleware; } });
3
+ exports.RobotsMiddleware = exports.SitemapMiddleware = void 0;
18
4
  var sitemap_middleware_1 = require("./sitemap-middleware");
19
5
  Object.defineProperty(exports, "SitemapMiddleware", { enumerable: true, get: function () { return sitemap_middleware_1.SitemapMiddleware; } });
20
6
  var robots_middleware_1 = require("./robots-middleware");
21
7
  Object.defineProperty(exports, "RobotsMiddleware", { enumerable: true, get: function () { return robots_middleware_1.RobotsMiddleware; } });
22
- var locale_middleware_1 = require("./locale-middleware");
23
- Object.defineProperty(exports, "LocaleMiddleware", { enumerable: true, get: function () { return locale_middleware_1.LocaleMiddleware; } });
24
- var personalize_1 = require("@sitecore-content-sdk/core/personalize");
25
- Object.defineProperty(exports, "PersonalizeService", { enumerable: true, get: function () { return personalize_1.PersonalizeService; } });
26
- var site_1 = require("@sitecore-content-sdk/core/site");
27
- Object.defineProperty(exports, "RedirectsService", { enumerable: true, get: function () { return site_1.RedirectsService; } });
28
- Object.defineProperty(exports, "REDIRECT_TYPE_301", { enumerable: true, get: function () { return site_1.REDIRECT_TYPE_301; } });
29
- Object.defineProperty(exports, "REDIRECT_TYPE_302", { enumerable: true, get: function () { return site_1.REDIRECT_TYPE_302; } });
30
- Object.defineProperty(exports, "REDIRECT_TYPE_SERVER_TRANSFER", { enumerable: true, get: function () { return site_1.REDIRECT_TYPE_SERVER_TRANSFER; } });
@@ -1,26 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AppRouterMultisiteMiddleware = void 0;
4
- const multisite_middleware_1 = require("./multisite-middleware");
3
+ exports.AppRouterMultisiteProxy = void 0;
4
+ const multisite_proxy_1 = require("./multisite-proxy");
5
5
  /**
6
- * Middleware/handler for enabling multisite support in the Next.js App Router.
6
+ * Proxy/handler for enabling multisite support in the Next.js App Router.
7
7
  * @public
8
8
  */
9
- class AppRouterMultisiteMiddleware extends multisite_middleware_1.MultisiteMiddleware {
9
+ class AppRouterMultisiteProxy extends multisite_proxy_1.MultisiteProxy {
10
10
  /**
11
11
  * Warns when multisite is disabled in App Router.
12
- * The middleware will still run to prevent routing errors.
12
+ * The proxy will still run to prevent routing errors.
13
13
  * @param {NextResponse} _res response (unused, kept for method signature compatibility)
14
14
  */
15
15
  // eslint-disable-next-line no-unused-vars
16
16
  shouldWarnWhenDisabled(_res) {
17
- console.warn('⚠️ Warning: Multisite is disabled in App Router configuration, but the middleware will continue running. ' +
17
+ console.warn('⚠️ Warning: Multisite is disabled in App Router configuration, but the proxy will continue running. ' +
18
18
  'Disabling multisite in App Router would cause 404 errors for regular page requests because the route structure requires the [site] segment. ' +
19
19
  'Preview/Editing modes will still work. ' +
20
20
  'For single-site setups, keep multisite enabled and configure only one site.');
21
21
  }
22
22
  /**
23
- * In App Router, we cannot skip the middleware even if enabled is false,
23
+ * In App Router, we cannot skip the proxy even if enabled is false,
24
24
  * because the route structure requires the [site] segment.
25
25
  * @returns {boolean} always returns false (never skip) for App Router
26
26
  */
@@ -38,4 +38,4 @@ class AppRouterMultisiteMiddleware extends multisite_middleware_1.MultisiteMiddl
38
38
  return `/${siteName}${path}`;
39
39
  }
40
40
  }
41
- exports.AppRouterMultisiteMiddleware = AppRouterMultisiteMiddleware;
41
+ exports.AppRouterMultisiteProxy = AppRouterMultisiteProxy;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.REDIRECT_TYPE_SERVER_TRANSFER = exports.REDIRECT_TYPE_302 = exports.REDIRECT_TYPE_301 = exports.RedirectsService = exports.PersonalizeService = exports.LocaleProxy = exports.AppRouterMultisiteProxy = exports.MultisiteProxy = exports.PersonalizeProxy = exports.RedirectsProxy = exports.defineProxy = exports.ProxyHandler = exports.ProxyBase = exports.debug = void 0;
4
+ var core_1 = require("@sitecore-content-sdk/core");
5
+ Object.defineProperty(exports, "debug", { enumerable: true, get: function () { return core_1.debug; } });
6
+ var proxy_1 = require("./proxy");
7
+ Object.defineProperty(exports, "ProxyBase", { enumerable: true, get: function () { return proxy_1.ProxyBase; } });
8
+ Object.defineProperty(exports, "ProxyHandler", { enumerable: true, get: function () { return proxy_1.ProxyHandler; } });
9
+ Object.defineProperty(exports, "defineProxy", { enumerable: true, get: function () { return proxy_1.defineProxy; } });
10
+ var redirects_proxy_1 = require("./redirects-proxy");
11
+ Object.defineProperty(exports, "RedirectsProxy", { enumerable: true, get: function () { return redirects_proxy_1.RedirectsProxy; } });
12
+ var personalize_proxy_1 = require("./personalize-proxy");
13
+ Object.defineProperty(exports, "PersonalizeProxy", { enumerable: true, get: function () { return personalize_proxy_1.PersonalizeProxy; } });
14
+ var multisite_proxy_1 = require("./multisite-proxy");
15
+ Object.defineProperty(exports, "MultisiteProxy", { enumerable: true, get: function () { return multisite_proxy_1.MultisiteProxy; } });
16
+ var app_router_multisite_proxy_1 = require("./app-router-multisite-proxy");
17
+ Object.defineProperty(exports, "AppRouterMultisiteProxy", { enumerable: true, get: function () { return app_router_multisite_proxy_1.AppRouterMultisiteProxy; } });
18
+ var locale_proxy_1 = require("./locale-proxy");
19
+ Object.defineProperty(exports, "LocaleProxy", { enumerable: true, get: function () { return locale_proxy_1.LocaleProxy; } });
20
+ var personalize_1 = require("@sitecore-content-sdk/core/personalize");
21
+ Object.defineProperty(exports, "PersonalizeService", { enumerable: true, get: function () { return personalize_1.PersonalizeService; } });
22
+ var site_1 = require("@sitecore-content-sdk/core/site");
23
+ Object.defineProperty(exports, "RedirectsService", { enumerable: true, get: function () { return site_1.RedirectsService; } });
24
+ Object.defineProperty(exports, "REDIRECT_TYPE_301", { enumerable: true, get: function () { return site_1.REDIRECT_TYPE_301; } });
25
+ Object.defineProperty(exports, "REDIRECT_TYPE_302", { enumerable: true, get: function () { return site_1.REDIRECT_TYPE_302; } });
26
+ Object.defineProperty(exports, "REDIRECT_TYPE_SERVER_TRANSFER", { enumerable: true, get: function () { return site_1.REDIRECT_TYPE_SERVER_TRANSFER; } });
@@ -10,19 +10,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  });
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.LocaleMiddleware = void 0;
13
+ exports.LocaleProxy = void 0;
14
14
  const core_1 = require("@sitecore-content-sdk/core");
15
15
  const i18n_1 = require("@sitecore-content-sdk/core/i18n");
16
- const middleware_1 = require("./middleware");
16
+ const proxy_1 = require("./proxy");
17
17
  /**
18
- * Middleware/handler for handling locale-based routing in the Next.js App Router.
19
- * This middleware is responsible for extracting the locale from the request path and rewriting it if necessary.
18
+ * Proxy/handler for handling locale-based routing in the Next.js App Router.
19
+ * This proxy is responsible for extracting the locale from the request path and rewriting it if necessary.
20
20
  * It also sets the locale header in the response.
21
21
  * @public
22
22
  */
23
- class LocaleMiddleware extends middleware_1.MiddlewareBase {
23
+ class LocaleProxy extends proxy_1.ProxyBase {
24
24
  /**
25
- * @param {LocaleMiddlewareConfig} config Locale middleware config
25
+ * @param {LocaleProxyConfig} config Locale proxy config
26
26
  */
27
27
  constructor(config) {
28
28
  super(config);
@@ -32,12 +32,12 @@ class LocaleMiddleware extends middleware_1.MiddlewareBase {
32
32
  const { pathname } = req.nextUrl;
33
33
  const localeFromPath = this.getLocaleFromPath(pathname);
34
34
  const locale = localeFromPath || this.getLanguage(req, res);
35
- core_1.debug.locale('locale middleware start: %o', {
35
+ core_1.debug.locale('locale proxy start: %o', {
36
36
  pathname,
37
37
  locale,
38
38
  });
39
39
  if (this.disabled(req, res)) {
40
- core_1.debug.locale('skipped (locale middleware is disabled)');
40
+ core_1.debug.locale('skipped (locale proxy is disabled)');
41
41
  return res;
42
42
  }
43
43
  if (!localeFromPath) {
@@ -45,7 +45,7 @@ class LocaleMiddleware extends middleware_1.MiddlewareBase {
45
45
  const rewritePath = (0, i18n_1.getLocaleRewrite)(pathname, locale);
46
46
  const response = this.rewrite(rewritePath, req, res);
47
47
  this.setLocaleHeader(response, locale);
48
- core_1.debug.locale('locale middleware end, with rewrite: %o', {
48
+ core_1.debug.locale('locale proxy end, with rewrite: %o', {
49
49
  pathname,
50
50
  locale,
51
51
  rewritePath,
@@ -53,14 +53,14 @@ class LocaleMiddleware extends middleware_1.MiddlewareBase {
53
53
  return response;
54
54
  }
55
55
  this.setLocaleHeader(res, locale);
56
- core_1.debug.locale('locale middleware end, no rewrite: %o', {
56
+ core_1.debug.locale('locale proxy end, no rewrite: %o', {
57
57
  pathname,
58
58
  locale,
59
59
  });
60
60
  return res;
61
61
  }
62
62
  catch (error) {
63
- console.log('Locale middleware failed:');
63
+ console.log('Locale proxy failed:');
64
64
  console.log(error);
65
65
  return res;
66
66
  }
@@ -79,7 +79,7 @@ class LocaleMiddleware extends middleware_1.MiddlewareBase {
79
79
  return this.config.locales.find((locale) => path.includes(`/${locale}/`) || path.endsWith(`/${locale}`));
80
80
  }
81
81
  setLocaleHeader(res, locale) {
82
- res.headers.set(middleware_1.LOCALE_HEADER_NAME, locale);
82
+ res.headers.set(proxy_1.LOCALE_HEADER_NAME, locale);
83
83
  }
84
84
  }
85
- exports.LocaleMiddleware = LocaleMiddleware;
85
+ exports.LocaleProxy = LocaleProxy;
@@ -10,18 +10,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  });
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.MultisiteMiddleware = void 0;
13
+ exports.MultisiteProxy = void 0;
14
14
  const site_1 = require("@sitecore-content-sdk/core/site");
15
15
  const core_1 = require("@sitecore-content-sdk/core");
16
- const middleware_1 = require("./middleware");
16
+ const proxy_1 = require("./proxy");
17
17
  const editing_1 = require("@sitecore-content-sdk/core/editing");
18
18
  /**
19
- * Middleware / handler for multisite support
19
+ * Proxy / handler for multisite support
20
20
  * @public
21
21
  */
22
- class MultisiteMiddleware extends middleware_1.MiddlewareBase {
22
+ class MultisiteProxy extends proxy_1.ProxyBase {
23
23
  /**
24
- * @param {MultisiteMiddlewareConfig} [config] Multisite middleware config
24
+ * @param {MultisiteProxyConfig} [config] Multisite proxy config
25
25
  */
26
26
  constructor(config) {
27
27
  super(config);
@@ -29,12 +29,12 @@ class MultisiteMiddleware extends middleware_1.MiddlewareBase {
29
29
  this.handle = (req, res) => __awaiter(this, void 0, void 0, function* () {
30
30
  var _a, _b, _c;
31
31
  try {
32
- // Path can be rewritten by previously executed middleware
33
- const pathname = (res === null || res === void 0 ? void 0 : res.headers.get(middleware_1.REWRITE_HEADER_NAME)) || req.nextUrl.pathname;
32
+ // Path can be rewritten by previously executed proxy
33
+ const pathname = (res === null || res === void 0 ? void 0 : res.headers.get(proxy_1.REWRITE_HEADER_NAME)) || req.nextUrl.pathname;
34
34
  const language = this.getLanguage(req, res);
35
35
  const hostname = this.getHostHeader(req) || this.defaultHostname;
36
36
  const startTimestamp = Date.now();
37
- core_1.debug.multisite('multisite middleware start: %o', {
37
+ core_1.debug.multisite('multisite proxy start: %o', {
38
38
  pathname,
39
39
  language,
40
40
  hostname,
@@ -53,13 +53,13 @@ class MultisiteMiddleware extends middleware_1.MiddlewareBase {
53
53
  if (!this.config.enabled) {
54
54
  this.shouldWarnWhenDisabled(res);
55
55
  if (this.shouldSkipWhenDisabled()) {
56
- core_1.debug.multisite('skipped (multisite middleware is disabled globally)');
56
+ core_1.debug.multisite('skipped (multisite proxy is disabled globally)');
57
57
  return res;
58
58
  }
59
59
  // Continue execution if shouldSkipWhenDisabled returns false (App Router case)
60
60
  }
61
61
  if (this.disabled(req, res)) {
62
- core_1.debug.multisite('skipped (multisite middleware is disabled)');
62
+ core_1.debug.multisite('skipped (multisite proxy is disabled)');
63
63
  return res;
64
64
  }
65
65
  }
@@ -89,9 +89,9 @@ class MultisiteMiddleware extends middleware_1.MiddlewareBase {
89
89
  httpOnly: true,
90
90
  sameSite: 'none',
91
91
  };
92
- // Share site name with the following executed middlewares
92
+ // Share site name with the following executed proxies
93
93
  response.cookies.set(site_1.SITE_KEY, siteName, defaultCookieAttributes);
94
- core_1.debug.multisite('multisite middleware end in %dms: %o', Date.now() - startTimestamp, {
94
+ core_1.debug.multisite('multisite proxy end in %dms: %o', Date.now() - startTimestamp, {
95
95
  rewritePath,
96
96
  siteName,
97
97
  headers: this.extractDebugHeaders(response.headers),
@@ -100,7 +100,7 @@ class MultisiteMiddleware extends middleware_1.MiddlewareBase {
100
100
  return response;
101
101
  }
102
102
  catch (error) {
103
- console.log('Multisite middleware failed:');
103
+ console.log('Multisite proxy failed:');
104
104
  console.log(error);
105
105
  return res;
106
106
  }
@@ -119,9 +119,9 @@ class MultisiteMiddleware extends middleware_1.MiddlewareBase {
119
119
  // Base implementation does nothing - subclasses can override to show warnings
120
120
  }
121
121
  /**
122
- * Determines if middleware should be skipped when multisite is disabled.
122
+ * Determines if proxy should be skipped when multisite is disabled.
123
123
  * Override in subclasses to provide router-specific behavior.
124
- * @returns {boolean} true if middleware should be skipped when disabled
124
+ * @returns {boolean} true if proxy should be skipped when disabled
125
125
  */
126
126
  shouldSkipWhenDisabled() {
127
127
  return true; // Base class skips when disabled
@@ -138,4 +138,4 @@ class MultisiteMiddleware extends middleware_1.MiddlewareBase {
138
138
  });
139
139
  }
140
140
  }
141
- exports.MultisiteMiddleware = MultisiteMiddleware;
141
+ exports.MultisiteProxy = MultisiteProxy;
@@ -9,19 +9,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.PersonalizeMiddleware = void 0;
12
+ exports.PersonalizeProxy = void 0;
13
13
  const personalize_1 = require("@sitecore-content-sdk/core/personalize");
14
14
  const core_1 = require("@sitecore-content-sdk/core");
15
- const middleware_1 = require("./middleware");
15
+ const proxy_1 = require("./proxy");
16
16
  const server_1 = require("@sitecore-cloudsdk/core/server");
17
17
  const server_2 = require("@sitecore-cloudsdk/personalize/server");
18
18
  /**
19
- * Middleware / handler to support Sitecore Personalize
19
+ * Proxy / handler to support Sitecore Personalize
20
20
  * @public
21
21
  */
22
- class PersonalizeMiddleware extends middleware_1.MiddlewareBase {
22
+ class PersonalizeProxy extends proxy_1.ProxyBase {
23
23
  /**
24
- * @param {PersonalizeMiddlewareConfig} [config] Personalize middleware config
24
+ * @param {PersonalizeProxyConfig} [config] Personalize proxy config
25
25
  */
26
26
  constructor(config) {
27
27
  var _a;
@@ -29,7 +29,7 @@ class PersonalizeMiddleware extends middleware_1.MiddlewareBase {
29
29
  this.config = config;
30
30
  this.handle = (req, res) => __awaiter(this, void 0, void 0, function* () {
31
31
  if (!this.config.enabled) {
32
- core_1.debug.personalize('skipped (personalize middleware is disabled globally)');
32
+ core_1.debug.personalize('skipped (personalize proxy is disabled globally)');
33
33
  return res;
34
34
  }
35
35
  try {
@@ -41,11 +41,11 @@ class PersonalizeMiddleware extends middleware_1.MiddlewareBase {
41
41
  const geo = this.config.extractGeoDataCb
42
42
  ? yield this.config.extractGeoDataCb(req)
43
43
  : undefined;
44
- core_1.debug.personalize('personalize middleware start: %o', Object.assign(Object.assign({ pathname,
44
+ core_1.debug.personalize('personalize proxy start: %o', Object.assign(Object.assign({ pathname,
45
45
  language,
46
46
  hostname }, (geo && { geo })), { headers: this.extractDebugHeaders(req.headers) }));
47
47
  if (this.disabled(req, res)) {
48
- core_1.debug.personalize('skipped (personalize middleware is disabled)');
48
+ core_1.debug.personalize('skipped (personalize proxy is disabled)');
49
49
  return res;
50
50
  }
51
51
  if (res.redirected || // Don't attempt to personalize a redirect
@@ -75,8 +75,8 @@ class PersonalizeMiddleware extends middleware_1.MiddlewareBase {
75
75
  // Personalized, but this is a prefetch request.
76
76
  // In this case, don't execute a personalize request; otherwise, the metrics for component A/B experiments would be inaccurate.
77
77
  // Disable preflight caching to force revalidation on client-side navigation (personalization WILL be influenced).
78
- // Note the reason we don't move this any earlier in the middleware is that we would then be sacrificing performance for non-personalized pages.
79
- res.headers.set('x-middleware-cache', 'no-cache');
78
+ // Note the reason we don't move this any earlier in the proxy is that we would then be sacrificing performance for non-personalized pages.
79
+ res.headers.set('x-proxy-cache', 'no-cache');
80
80
  res.headers.set('Cache-Control', 'no-store, must-revalidate');
81
81
  return res;
82
82
  }
@@ -105,29 +105,29 @@ class PersonalizeMiddleware extends middleware_1.MiddlewareBase {
105
105
  core_1.debug.personalize('skipped (no variant(s) identified)');
106
106
  return res;
107
107
  }
108
- // Path can be rewritten by previously executed middleware
109
- const basePath = (res === null || res === void 0 ? void 0 : res.headers.get(middleware_1.REWRITE_HEADER_NAME)) || pathname;
108
+ // Path can be rewritten by previously executed proxy
109
+ const basePath = (res === null || res === void 0 ? void 0 : res.headers.get(proxy_1.REWRITE_HEADER_NAME)) || pathname;
110
110
  // Rewrite to persononalized path
111
111
  const rewritePath = (0, personalize_1.getPersonalizedRewrite)(basePath, identifiedVariantIds);
112
112
  const response = this.rewrite(rewritePath, req, res);
113
113
  // Disable preflight caching to force revalidation on client-side navigation (personalization MAY be influenced).
114
114
  // See https://github.com/vercel/next.js/pull/32767
115
- response.headers.set('x-middleware-cache', 'no-cache');
116
- core_1.debug.personalize('personalize middleware end in %dms: %o', Date.now() - startTimestamp, {
115
+ response.headers.set('x-proxy-cache', 'no-cache');
116
+ core_1.debug.personalize('personalize proxy end in %dms: %o', Date.now() - startTimestamp, {
117
117
  rewritePath,
118
118
  headers: this.extractDebugHeaders(response.headers),
119
119
  });
120
120
  return response;
121
121
  }
122
122
  catch (error) {
123
- console.log('Personalize middleware failed:');
123
+ console.log('Personalize proxy failed:');
124
124
  console.log(error);
125
125
  return res;
126
126
  }
127
127
  });
128
128
  // Validate edge config is present - personalize requires Edge platform
129
129
  if (!this.config.contextId && !this.config.clientContextId) {
130
- console.warn('[PersonalizeMiddleware] Personalize middleware requires Edge configuration (contextId/clientContextId). ' +
130
+ console.warn('[PersonalizeProxy] Personalize proxy requires Edge configuration (contextId/clientContextId). ' +
131
131
  'Personalize features will be disabled. This is expected in local container development.');
132
132
  // Set to null to indicate service is disabled
133
133
  this.personalizeService = null;
@@ -153,7 +153,7 @@ class PersonalizeMiddleware extends middleware_1.MiddlewareBase {
153
153
  });
154
154
  }
155
155
  disabled(req, res) {
156
- // Check if API config is missing - if so, disable the middleware
156
+ // Check if API config is missing - if so, disable the proxy
157
157
  if (!this.personalizeService) {
158
158
  core_1.debug.personalize('skipped (personalize service not configured - edge config required)');
159
159
  return true;
@@ -241,4 +241,4 @@ class PersonalizeMiddleware extends middleware_1.MiddlewareBase {
241
241
  }, results);
242
242
  }
243
243
  }
244
- exports.PersonalizeMiddleware = PersonalizeMiddleware;
244
+ exports.PersonalizeProxy = PersonalizeProxy;
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.defineMiddleware = exports.MiddlewareBase = exports.Middleware = exports.LOCALE_HEADER_NAME = exports.REWRITE_HEADER_NAME = void 0;
12
+ exports.defineProxy = exports.ProxyBase = exports.ProxyHandler = exports.LOCALE_HEADER_NAME = exports.REWRITE_HEADER_NAME = void 0;
13
13
  const site_1 = require("@sitecore-content-sdk/core/site");
14
14
  const core_1 = require("@sitecore-content-sdk/core");
15
15
  const server_1 = require("next/server");
@@ -17,17 +17,17 @@ const client_1 = require("@sitecore-content-sdk/core/client");
17
17
  exports.REWRITE_HEADER_NAME = 'x-sc-rewrite';
18
18
  exports.LOCALE_HEADER_NAME = 'x-sc-locale';
19
19
  /**
20
- * Middleware class to be extended by all middleware implementations
20
+ * Proxy handler class to be extended by all proxy implementations
21
21
  * @public
22
22
  */
23
- class Middleware {
23
+ class ProxyHandler {
24
24
  }
25
- exports.Middleware = Middleware;
25
+ exports.ProxyHandler = ProxyHandler;
26
26
  /**
27
- * Base middleware class with common methods
27
+ * Base proxy class with common methods
28
28
  * @public
29
29
  */
30
- class MiddlewareBase extends Middleware {
30
+ class ProxyBase extends ProxyHandler {
31
31
  constructor(config) {
32
32
  super();
33
33
  this.config = config;
@@ -64,14 +64,14 @@ class MiddlewareBase extends Middleware {
64
64
  const isKnownDevice = isMobile || isKnownPlatform;
65
65
  const purpose = req.headers.get('purpose');
66
66
  const nextRouterPrefetch = req.headers.get('Next-Router-Prefetch');
67
- const middlewarePrefetch = req.headers.get('x-middleware-prefetch');
67
+ const proxyPrefetch = req.headers.get('x-middleware-prefetch');
68
68
  // Some real navigations on different devices may incorrectly include 'prefetch' headers.
69
69
  // To avoid skipping personalization in such cases, we treat 'x-middleware-prefetch' as a more reliable signal of true prefetch behavior.
70
- if (isKnownDevice && middlewarePrefetch === '1') {
70
+ if (isKnownDevice && proxyPrefetch === '1') {
71
71
  return false;
72
72
  }
73
73
  // Otherwise, standard prefetch detection
74
- return purpose === 'prefetch' || nextRouterPrefetch === '1' || middlewarePrefetch === '1';
74
+ return purpose === 'prefetch' || nextRouterPrefetch === '1' || proxyPrefetch === '1';
75
75
  }
76
76
  disabled(req, res) {
77
77
  const { pathname } = req.nextUrl;
@@ -82,7 +82,7 @@ class MiddlewareBase extends Middleware {
82
82
  }
83
83
  /**
84
84
  * Safely extract all headers for debug logging
85
- * Necessary to avoid middleware issue https://github.com/vercel/next.js/issues/39765
85
+ * Necessary to avoid proxy issue https://github.com/vercel/next.js/issues/39765
86
86
  * @param {Headers} incomingHeaders Incoming headers
87
87
  * @returns Object with headers as key/value pairs
88
88
  */
@@ -106,7 +106,7 @@ class MiddlewareBase extends Middleware {
106
106
  }
107
107
  /**
108
108
  * Extract language from locale header of the response
109
- * set by LocaleMiddleware for app router application
109
+ * set by LocaleProxy for app router application
110
110
  * @param {NextResponse} res response
111
111
  * @returns {string | undefined} language or undefined if not found
112
112
  */
@@ -160,36 +160,36 @@ class MiddlewareBase extends Middleware {
160
160
  // Note an absolute URL is required: https://nextjs.org/docs/messages/middleware-relative-urls
161
161
  const rewriteUrl = req.nextUrl.clone();
162
162
  rewriteUrl.pathname = rewritePath;
163
- const response = server_1.NextResponse.rewrite(rewriteUrl, res);
164
- // Share rewrite path with following executed middlewares
163
+ // NextResponse.rewrite requires a string URL, not a NextURL object
164
+ const response = server_1.NextResponse.rewrite(rewriteUrl.href, res);
165
+ // Share rewrite path with following executed proxies
165
166
  if (!skipHeader) {
166
167
  response.headers.set(exports.REWRITE_HEADER_NAME, rewritePath);
167
168
  }
168
169
  return response;
169
170
  }
170
171
  }
171
- exports.MiddlewareBase = MiddlewareBase;
172
+ exports.ProxyBase = ProxyBase;
172
173
  /**
173
- * Define a middleware with a list of middlewares
174
- * @param {Middleware[]} middlewares List of middlewares to execute
174
+ * Define a proxy with a list of proxy handlers
175
+ * @param {ProxyHandler[]} proxies List of proxy handlers to execute
175
176
  * @public
176
177
  */
177
- const defineMiddleware = (...middlewares) => {
178
+ const defineProxy = (...proxies) => {
178
179
  return {
179
180
  /**
180
- * Execute all middlewares
181
+ * Execute all proxies
181
182
  * @param {NextRequest} req request
182
- * @param {NextFetchEvent} ev fetch event
183
183
  * @param {NextResponse} [res] response
184
184
  */
185
- exec: (req, ev, res) => __awaiter(void 0, void 0, void 0, function* () {
185
+ exec: (req, res) => __awaiter(void 0, void 0, void 0, function* () {
186
186
  const response = res || server_1.NextResponse.next();
187
- core_1.debug.common('middleware start');
187
+ core_1.debug.common('proxy start');
188
188
  const start = Date.now();
189
- const middlewareResponse = yield middlewares.reduce((p, middleware) => p.then((res) => middleware.handle(req, res, ev)), Promise.resolve(response));
190
- core_1.debug.common('middleware end in %dms', Date.now() - start);
191
- return middlewareResponse;
189
+ const proxyResponse = yield proxies.reduce((p, proxy) => p.then((res) => proxy.handle(req, res)), Promise.resolve(response));
190
+ core_1.debug.common('proxy end in %dms', Date.now() - start);
191
+ return proxyResponse;
192
192
  }),
193
193
  };
194
194
  };
195
- exports.defineMiddleware = defineMiddleware;
195
+ exports.defineProxy = defineProxy;