From e785c241ec96296f1be564c9515691fc774f3b80 Mon Sep 17 00:00:00 2001 From: David Bauer <david.bauer@open-xchange.com> Date: Mon, 5 Jun 2023 11:51:03 +0200 Subject: [PATCH] Change: Explicitly set content-type to utf-8 for javascript files --- spec/app_root_test.js | 2 +- spec/file_caching_test.js | 6 +++--- src/files.js | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/spec/app_root_test.js b/spec/app_root_test.js index dd6781a..dcb6713 100644 --- a/spec/app_root_test.js +++ b/spec/app_root_test.js @@ -51,7 +51,7 @@ describe('With different app root', function () { it('serves files defined in manifest.json file', async function () { const response = await app.inject({ url: '/appsuite/example.js' }) expect(response.statusCode).to.equal(200) - expect(response.headers['content-type']).to.equal('application/javascript') + expect(response.headers['content-type']).to.equal('application/javascript; charset=utf-8') expect(response.body).to.equal('this is example') const response2 = await app.inject({ url: '/appsuite/test.txt' }) diff --git a/spec/file_caching_test.js b/spec/file_caching_test.js index 7579aee..8c50df8 100644 --- a/spec/file_caching_test.js +++ b/spec/file_caching_test.js @@ -66,7 +66,7 @@ describe('File caching service', function () { it('serves files defined in manifest.json file', async function () { const response = await app.inject({ url: '/example.js' }) expect(response.statusCode).to.equal(200) - expect(response.headers['content-type']).to.equal('application/javascript') + expect(response.headers['content-type']).to.equal('application/javascript; charset=utf-8') expect(response.body).to.equal('this is example') // expect(response.headers['content-security-policy']).to.contain('sha256-NzZhMTE2Njc2YTgyNTZmZTdlZGVjZDU3YTNmYzRjNmM1OWZkMTI2NjRkYzZmMWM3YTkwMGU3ZTdhNDlhZmVlMwo=') const response2 = await app.inject({ url: '/test.txt' }) @@ -113,7 +113,7 @@ describe('File caching service', function () { 'http://ui-server': { '/manifest.json': generateSimpleViteManifest({}), '/example.js': spy = sandbox.spy(() => { - return new Response('this is example', { headers: { 'content-type': 'application/javascript' } }) + return new Response('this is example', { headers: { 'content-type': 'application/javascript; charset=utf-8' } }) }) } }) @@ -134,7 +134,7 @@ describe('File caching service', function () { 'http://ui-server': { '/manifest.json': generateSimpleViteManifest({}), '/example.js': spy = sandbox.spy(() => { - return new Response('this is example', { headers: { 'content-type': 'application/javascript' } }) + return new Response('this is example', { headers: { 'content-type': 'application/javascript; charset=utf-8' } }) }) } }) diff --git a/src/files.js b/src/files.js index 5d852c4..0daca8b 100644 --- a/src/files.js +++ b/src/files.js @@ -38,7 +38,7 @@ export async function fetchFileWithHeadersFromBaseUrl ({ path, baseUrl, version const result = { body: Buffer.from(await response.arrayBuffer()), headers: { - 'content-type': response.headers.get('content-type'), + 'content-type': response.headers.get('content-type') === 'application/javascript' ? 'application/javascript; charset=utf-8' : response.headers.get('content-type'), dependencies } } -- GitLab