From 07d561bfdc0f0230bb11d116b4623401dcc6918b Mon Sep 17 00:00:00 2001 From: Maros Hluska Date: Tue, 27 Mar 2018 17:35:18 -0700 Subject: [PATCH 1/3] Add Content-Type: text/html; charset-utf8 --- src/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/index.js b/src/index.js index 22402ac..6355eb0 100644 --- a/src/index.js +++ b/src/index.js @@ -49,6 +49,7 @@ function fastbootExpressMiddleware(distPath, options) { log(result.statusCode, statusMessage + path); res.status(result.statusCode); + res.type('text/html'); if (typeof body === 'string') { res.send(body); From 3593b6051a9aa4f4ac52776c67242b3587bf487f Mon Sep 17 00:00:00 2001 From: Maros Hluska Date: Wed, 10 Oct 2018 13:06:55 +0700 Subject: [PATCH 2/3] Make res.type be used only for chunkedResponse --- src/index.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/index.js b/src/index.js index 6355eb0..2590483 100644 --- a/src/index.js +++ b/src/index.js @@ -37,25 +37,25 @@ function fastbootExpressMiddleware(distPath, options) { responseBody.then(body => { let headers = result.headers; let statusMessage = result.error ? 'NOT OK ' : 'OK '; - + for (var pair of headers.entries()) { res.set(pair[0], pair[1]); } - + if (result.error) { log("RESILIENT MODE CAUGHT:", result.error.stack); next(result.error); } - + log(result.statusCode, statusMessage + path); res.status(result.statusCode); - res.type('text/html'); if (typeof body === 'string') { res.send(body); } else if (result.error) { res.send(body[0]); } else { + res.type('html'); body.forEach(chunk => res.write(chunk)); res.end(); } From 70289b590e81c8f3660060f9757fe87e1cdf3446 Mon Sep 17 00:00:00 2001 From: Maros Hluska Date: Wed, 10 Oct 2018 16:09:44 +0700 Subject: [PATCH 3/3] Add test --- test/middleware-test.js | 1 + 1 file changed, 1 insertion(+) diff --git a/test/middleware-test.js b/test/middleware-test.js index d2e4fea..417755a 100644 --- a/test/middleware-test.js +++ b/test/middleware-test.js @@ -120,6 +120,7 @@ describe("FastBoot", function() { .then(() => server.request('/', { resolveWithFullResponse: true })) .then(({ body, _, headers }) => { expect(headers['transfer-encoding']).to.eq('chunked'); + expect(headers['content-type']).to.eq('text/html; charset=utf-8'); expect(body).to.match(/Welcome to Ember/); }); });