From b2a6fedce908bd348054b6fbb6e81fe638ef9744 Mon Sep 17 00:00:00 2001
From: Daniel Mohns <dmohns@users.noreply.github.com>
Date: Wed, 6 Mar 2019 16:57:23 +0100
Subject: [PATCH 1/2] fix: do not overwrite Content-Type if header already
 exists (#377)

---
 lib/middleware.js    |  4 +++-
 test/tests/server.js | 21 +++++++++++++++++++++
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/lib/middleware.js b/lib/middleware.js
index 2afa2588f..4a2365a20 100644
--- a/lib/middleware.js
+++ b/lib/middleware.js
@@ -79,7 +79,9 @@ module.exports = function wrapper(context) {
           contentType += '; charset=UTF-8';
         }
 
-        res.setHeader('Content-Type', contentType);
+        if (!res.getHeader('Content-Type')) {
+          res.setHeader('Content-Type', contentType);
+        }
         res.setHeader('Content-Length', content.length);
 
         const { headers } = context.options;
diff --git a/test/tests/server.js b/test/tests/server.js
index 90f9e6565..36f7cd0fc 100644
--- a/test/tests/server.js
+++ b/test/tests/server.js
@@ -259,6 +259,27 @@ describe('Server', () => {
     });
   });
 
+  describe('custom Content-Type', () => {
+    before((done) => {
+      app = express();
+      const compiler = webpack(webpackConfig);
+      instance = middleware(compiler, {
+        stats: 'errors-only',
+        logLevel,
+        headers: { 'Content-Type': 'application/octet-stream' }
+      });
+      app.use(instance);
+      listen = listenShorthand(done);
+    });
+    after(close);
+
+    it('Do not guess mime type if Content-Type header is found ', (done) => {
+      request(app).get('/bundle.js')
+        .expect('Content-Type', 'application/octet-stream')
+        .expect(200, done);
+    });
+  });
+
   describe('custom mimeTypes', () => {
     before((done) => {
       app = express();

From 894ba2b5f84ff191c5cb2b7cc565f27661946cb6 Mon Sep 17 00:00:00 2001
From: evilebottnawi <sheo13666q@gmail.com>
Date: Wed, 6 Mar 2019 18:57:55 +0300
Subject: [PATCH 2/2] chore(release): 3.6.1

---
 CHANGELOG.md      | 6 +++---
 package-lock.json | 2 +-
 package.json      | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9c6ae3968..c3a9cc6ef 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,12 +2,12 @@
 
 All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
 
-# [3.6.0](https://github.com/webpack/webpack-dev-middleware/compare/v3.5.2...v3.6.0) (2019-02-19)
+## [3.6.1](https://github.com/webpack/webpack-dev-middleware/compare/v3.6.0...v3.6.1) (2019-03-06)
 
 
-### Features
+### Bug Fixes
 
-* configurable file system via options.fs ([#370](https://github.com/webpack/webpack-dev-middleware/issues/370)) ([1762cb3](https://github.com/webpack/webpack-dev-middleware/commit/1762cb3))
+* do not overwrite Content-Type if header already exists ([#377](https://github.com/webpack/webpack-dev-middleware/issues/377)) ([b2a6fed](https://github.com/webpack/webpack-dev-middleware/commit/b2a6fed))
 
 
 
diff --git a/package-lock.json b/package-lock.json
index 115a2745f..381934a71 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
 {
   "name": "webpack-dev-middleware",
-  "version": "3.6.0",
+  "version": "3.6.1",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
diff --git a/package.json b/package.json
index 25c98d98a..586838168 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "webpack-dev-middleware",
-  "version": "3.6.0",
+  "version": "3.6.1",
   "description": "A development middleware for webpack",
   "main": "index.js",
   "files": [