'use strict'; const common = require('../common'); const assert = require('assert'); const http = require('http'); const data = 'PUT / HTTP/1.1\r\n\r\n'; const server = http.createServer(common.mustCall(function(req, res) { req.on('data', function(chunk) { assert.strictEqual(chunk, Buffer.from(data)); }); res.setHeader('Content-Type', 'text/plain'); for (let i = 0; i < req.rawHeaders.length; i += 2) { if (req.rawHeaders[i].toLowerCase() === 'host') continue; if (req.rawHeaders[i].toLowerCase() === 'connection') continue; res.write(`${req.rawHeaders[i]}: ${req.rawHeaders[i + 1]}\r\n`); } res.end(); })).unref(); server.listen(0, common.mustCall(() => { const port = server.address().port; const req = http.request({ method: 'DELETE', port }, function(res) { res.resume(); }); req.write(data); req.end(); }));