full site update

This commit is contained in:
2025-07-24 18:46:24 +02:00
parent bfe2b90d8d
commit 37a6e0ab31
6912 changed files with 540482 additions and 361712 deletions

View File

@@ -1,11 +1,11 @@
import { REROUTE_DIRECTIVE_HEADER, ROUTE_TYPE_HEADER } from "../core/constants.js";
import { isRequestServerIsland, requestIs404Or500 } from "../core/routing/match.js";
import {
normalizeTheLocale,
notFound,
redirectToDefaultLocale,
redirectToFallback,
requestHasLocale,
requestIs404Or500
requestHasLocale
} from "./index.js";
function createI18nMiddleware(i18n, base, trailingSlash, format) {
if (!i18n) return (_, next) => next();
@@ -20,12 +20,12 @@ function createI18nMiddleware(i18n, base, trailingSlash, format) {
const _noFoundForNonLocaleRoute = notFound(payload);
const _requestHasLocale = requestHasLocale(payload.locales);
const _redirectToFallback = redirectToFallback(payload);
const prefixAlways = (context) => {
const prefixAlways = (context, response) => {
const url = context.url;
if (url.pathname === base + "/" || url.pathname === base) {
return _redirectToDefaultLocale(context);
} else if (!_requestHasLocale(context)) {
return _noFoundForNonLocaleRoute(context);
return _noFoundForNonLocaleRoute(context, response);
}
return void 0;
};
@@ -58,8 +58,12 @@ function createI18nMiddleware(i18n, base, trailingSlash, format) {
if (requestIs404Or500(context.request, base)) {
return response;
}
if (isRequestServerIsland(context.request, base)) {
return response;
}
const { currentLocale } = context;
switch (i18n.strategy) {
// NOTE: theoretically, we should never hit this code path
case "manual": {
return response;
}
@@ -96,7 +100,7 @@ function createI18nMiddleware(i18n, base, trailingSlash, format) {
break;
}
case "pathname-prefix-always": {
const result = prefixAlways(context);
const result = prefixAlways(context, response);
if (result) {
return result;
}
@@ -104,7 +108,7 @@ function createI18nMiddleware(i18n, base, trailingSlash, format) {
}
case "domains-prefix-always": {
if (localeHasntDomain(i18n, currentLocale)) {
const result = prefixAlways(context);
const result = prefixAlways(context, response);
if (result) {
return result;
}