1'use strict'; 2const common = require('../common'); 3const http = require('http'); 4const assert = require('assert'); 5 6const nonUtf8Header = 'bår'; 7const nonUtf8ToLatin1 = Buffer.from(nonUtf8Header).toString('latin1'); 8 9{ 10 const server = http.createServer(common.mustCall((req, res) => { 11 res.writeHead(200, [ 12 'content-disposition', 13 Buffer.from(nonUtf8Header).toString('binary'), 14 ]); 15 res.end('hello'); 16 })); 17 18 server.listen(0, common.mustCall(() => { 19 http.get({ port: server.address().port }, (res) => { 20 assert.strictEqual(res.statusCode, 200); 21 assert.strictEqual(res.headers['content-disposition'], nonUtf8ToLatin1); 22 res.resume().on('end', common.mustCall(() => { 23 server.close(); 24 })); 25 }); 26 })); 27} 28 29{ 30 const server = http.createServer(common.mustCall((req, res) => { 31 res.writeHead(200, [ 32 'Content-Length', '5', 33 'content-disposition', 34 Buffer.from(nonUtf8Header).toString('binary'), 35 ]); 36 res.end('hello'); 37 })); 38 39 server.listen(0, common.mustCall(() => { 40 http.get({ port: server.address().port }, (res) => { 41 assert.strictEqual(res.statusCode, 200); 42 assert.strictEqual(res.headers['content-disposition'], nonUtf8ToLatin1); 43 res.resume().on('end', common.mustCall(() => { 44 server.close(); 45 })); 46 }); 47 })); 48} 49