From 1f081e8dba2025bcc53996ae59b90dc382fee006 Mon Sep 17 00:00:00 2001 From: Janic Duplessis Date: Mon, 17 Jul 2017 15:59:48 -0400 Subject: [PATCH] Add Content-Length header to *.bundle responses --- .../metro-bundler/src/Server/__tests__/Server-test.js | 10 ++++++++++ packages/metro-bundler/src/Server/index.js | 1 + 2 files changed, 11 insertions(+) diff --git a/packages/metro-bundler/src/Server/__tests__/Server-test.js b/packages/metro-bundler/src/Server/__tests__/Server-test.js index ba022f2bba..8a82bb9a33 100644 --- a/packages/metro-bundler/src/Server/__tests__/Server-test.js +++ b/packages/metro-bundler/src/Server/__tests__/Server-test.js @@ -116,6 +116,16 @@ describe('processRequest', () => { }); }); + it('returns Content-Length header on request of *.bundle', () => { + return makeRequest( + requestHandler, + 'mybundle.bundle?runModule=true' + ).then(response => { + expect(response.getHeader('Content-Length')) + .toBe(Buffer.byteLength(response.body)); + }); + }); + it('returns 304 on request of *.bundle when if-none-match equals the ETag', () => { return makeRequest( requestHandler, diff --git a/packages/metro-bundler/src/Server/index.js b/packages/metro-bundler/src/Server/index.js index 202960a41e..dc7fc466f4 100644 --- a/packages/metro-bundler/src/Server/index.js +++ b/packages/metro-bundler/src/Server/index.js @@ -769,6 +769,7 @@ class Server { mres.writeHead(304); mres.end(); } else { + mres.setHeader('Content-Length', Buffer.byteLength(bundleSource)); mres.end(bundleSource); } debug('Finished response');