'use strict'; const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); const assert = require('assert'); const http2 = require('http2'); const server = http2.createServer(); server.on('stream', (stream, headers) => { assert.deepStrictEqual(headers, { ':scheme': 'http', ':authority': `localhost:${server.address().port}`, ':method': 'GET', ':path': '/', 'bar': '', '__proto__': null }); stream.session.destroy(); server.close(); }); server.listen(0, common.mustCall(() => { const client = http2.connect(`http://localhost:${server.address().port}/`); client.request({ ':path': '/', '': 'foo', 'bar': '' }).end(); }));