diff options
Diffstat (limited to 'packages/console/app/src/middleware.ts')
| -rw-r--r-- | packages/console/app/src/middleware.ts | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/packages/console/app/src/middleware.ts b/packages/console/app/src/middleware.ts index 620fc25aa..6667c4447 100644 --- a/packages/console/app/src/middleware.ts +++ b/packages/console/app/src/middleware.ts @@ -1,5 +1,16 @@ import { createMiddleware } from "@solidjs/start/middleware" +import { LOCALE_HEADER, cookie, fromPathname, strip } from "~/lib/language" export default createMiddleware({ - onBeforeResponse() {}, + onRequest(event) { + const url = new URL(event.request.url) + const locale = fromPathname(url.pathname) + if (!locale) return + + event.request.headers.set(LOCALE_HEADER, locale) + event.response.headers.append("set-cookie", cookie(locale)) + + url.pathname = strip(url.pathname) + event.request = new Request(url, event.request) + }, }) |
