chore(): apply locale middleware to all store routes (#14305)

* chore(): apply locale middleware to all store routes

* Create pink-papayas-brush.md
This commit is contained in:
Adrien de Peretti
2025-12-15 13:36:01 +01:00
committed by GitHub
parent 8964a03fa1
commit 7b4dda5a17
4 changed files with 22 additions and 6 deletions

View File

@@ -25,6 +25,7 @@ export async function applyLocale(
const queryLocale = req.query.locale as string | undefined
if (queryLocale) {
req.locale = normalizeLocale(queryLocale)
delete req.query.locale
return next()
}

View File

@@ -28,7 +28,7 @@ import { Logger, MedusaContainer } from "@medusajs/types"
import { join } from "path"
import { configManager } from "../config"
import { MiddlewareFileLoader } from "./middleware-file-loader"
import { authenticate, AuthType } from "./middlewares"
import { applyLocale, authenticate, AuthType } from "./middlewares"
import { createBodyParserMiddlewaresStack } from "./middlewares/bodyparser"
import { ensurePublishableApiKeyMiddleware } from "./middlewares/ensure-publishable-api-key"
import { errorHandler } from "./middlewares/error-handler"
@@ -406,6 +406,18 @@ export class ApiLoader {
this.#app.use(namespace, middleware as RequestHandler)
}
#applyLocaleMiddleware(namespace: string) {
this.#logger.debug(
`Registering locale middleware for namespace ${namespace}`
)
let middleware = ApiLoader.traceMiddleware
? ApiLoader.traceMiddleware(applyLocale, {
route: namespace,
})
: applyLocale
this.#app.use(namespace, middleware as RequestHandler)
}
async load() {
if (FeatureFlag.isFeatureEnabled("backend_hmr")) {
;(global as any).__MEDUSA_HMR_API_LOADER__ = this
@@ -482,6 +494,8 @@ export class ApiLoader {
*/
this.#applyStorePublishableKeyMiddleware("/store")
this.#applyLocaleMiddleware("/store")
this.#applyAuthMiddleware(
routesFinder,
"/store",