1'use strict'; 2 3const common = require('../common'); 4if (!common.hasCrypto) 5 common.skip('missing crypto'); 6 7const assert = require('assert'); 8const http2 = require('http2'); 9 10const server = http2.createServer(); 11server.on('stream', common.mustCall((stream) => { 12 stream.respond(); 13 stream.end('ok'); 14})); 15server.on('session', common.mustCall((session) => { 16 const windowSize = 2 ** 20; 17 const defaultSetting = http2.getDefaultSettings(); 18 session.setLocalWindowSize(windowSize); 19 20 assert.strictEqual(session.state.effectiveLocalWindowSize, windowSize); 21 assert.strictEqual(session.state.localWindowSize, windowSize); 22 assert.strictEqual( 23 session.state.remoteWindowSize, 24 defaultSetting.initialWindowSize 25 ); 26})); 27 28server.listen(0, common.mustCall(() => { 29 const client = http2.connect(`http://localhost:${server.address().port}`); 30 31 const req = client.request(); 32 req.resume(); 33 req.on('close', common.mustCall(() => { 34 client.close(); 35 server.close(); 36 })); 37})); 38