Skip to content

Commit 7b4dda5

Browse files
authored
chore(): apply locale middleware to all store routes (medusajs#14305)
* chore(): apply locale middleware to all store routes * Create pink-papayas-brush.md
1 parent 8964a03 commit 7b4dda5

File tree

4 files changed

+22
-6
lines changed

4 files changed

+22
-6
lines changed

.changeset/pink-papayas-brush.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@medusajs/medusa": patch
3+
"@medusajs/framework": patch
4+
---
5+
6+
chore(): apply locale middleware to all store routes

packages/core/framework/src/http/middlewares/apply-locale.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ export async function applyLocale(
2525
const queryLocale = req.query.locale as string | undefined
2626
if (queryLocale) {
2727
req.locale = normalizeLocale(queryLocale)
28+
delete req.query.locale
2829
return next()
2930
}
3031

packages/core/framework/src/http/router.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import { Logger, MedusaContainer } from "@medusajs/types"
2828
import { join } from "path"
2929
import { configManager } from "../config"
3030
import { MiddlewareFileLoader } from "./middleware-file-loader"
31-
import { authenticate, AuthType } from "./middlewares"
31+
import { applyLocale, authenticate, AuthType } from "./middlewares"
3232
import { createBodyParserMiddlewaresStack } from "./middlewares/bodyparser"
3333
import { ensurePublishableApiKeyMiddleware } from "./middlewares/ensure-publishable-api-key"
3434
import { errorHandler } from "./middlewares/error-handler"
@@ -406,6 +406,18 @@ export class ApiLoader {
406406
this.#app.use(namespace, middleware as RequestHandler)
407407
}
408408

409+
#applyLocaleMiddleware(namespace: string) {
410+
this.#logger.debug(
411+
`Registering locale middleware for namespace ${namespace}`
412+
)
413+
let middleware = ApiLoader.traceMiddleware
414+
? ApiLoader.traceMiddleware(applyLocale, {
415+
route: namespace,
416+
})
417+
: applyLocale
418+
this.#app.use(namespace, middleware as RequestHandler)
419+
}
420+
409421
async load() {
410422
if (FeatureFlag.isFeatureEnabled("backend_hmr")) {
411423
;(global as any).__MEDUSA_HMR_API_LOADER__ = this
@@ -482,6 +494,8 @@ export class ApiLoader {
482494
*/
483495
this.#applyStorePublishableKeyMiddleware("/store")
484496

497+
this.#applyLocaleMiddleware("/store")
498+
485499
this.#applyAuthMiddleware(
486500
routesFinder,
487501
"/store",

packages/medusa/src/api/store/products/middlewares.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { validateAndTransformQuery } from "@medusajs/framework"
22
import {
33
applyDefaultFilters,
4-
applyLocale,
54
applyParamsAsFilters,
65
authenticate,
76
clearFiltersByKey,
@@ -64,10 +63,6 @@ async function applyMaybeLinkFilterIfNecessary(
6463
}
6564

6665
export const storeProductRoutesMiddlewares: MiddlewareRoute[] = [
67-
{
68-
matcher: "/store/products/*",
69-
middlewares: [applyLocale],
70-
},
7166
{
7267
method: ["GET"],
7368
matcher: "/store/products",

0 commit comments

Comments
 (0)