full site update
This commit is contained in:
16
node_modules/astro/dist/i18n/middleware.js
generated
vendored
16
node_modules/astro/dist/i18n/middleware.js
generated
vendored
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user