From 76fb27dbb9a7fcba2767b3779b2430798298e95f Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Tue, 9 Aug 2022 14:42:23 -0500 Subject: [PATCH] Ensure locale redirects are not applied in minimal mode --- packages/next/server/base-server.ts | 2 +- .../required-server-files-i18n.test.ts | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/packages/next/server/base-server.ts b/packages/next/server/base-server.ts index f1984f820aea..ac60c0f6732d 100644 --- a/packages/next/server/base-server.ts +++ b/packages/next/server/base-server.ts @@ -617,7 +617,7 @@ export default abstract class Server { } } - if (defaultLocale) { + if (!this.minimalMode && defaultLocale) { const redirect = getLocaleRedirect({ defaultLocale, domainLocale, diff --git a/test/production/required-server-files-i18n.test.ts b/test/production/required-server-files-i18n.test.ts index a8316fc530da..17c5df1c80df 100644 --- a/test/production/required-server-files-i18n.test.ts +++ b/test/production/required-server-files-i18n.test.ts @@ -135,6 +135,27 @@ describe('should set-up next', () => { if (server) await killApp(server) }) + it('should not apply locale redirect in minimal mode', async () => { + const res = await fetchViaHTTP(appPort, '/', undefined, { + redirect: 'manual', + headers: { + 'accept-language': 'fr', + }, + }) + expect(res.status).toBe(200) + expect(await res.text()).toContain('index page') + + const resCookie = await fetchViaHTTP(appPort, '/', undefined, { + redirect: 'manual', + headers: { + 'accept-language': 'en', + cookie: 'NEXT_LOCALE=fr', + }, + }) + expect(resCookie.status).toBe(200) + expect(await resCookie.text()).toContain('index page') + }) + it('should output required-server-files manifest correctly', async () => { expect(requiredFilesManifest.version).toBe(1) expect(Array.isArray(requiredFilesManifest.files)).toBe(true)