text: 'use strict';
  const common = require('../common');
  const fixtures = require('../common/fixtures');
  
  // This test verifies that when a server receives an unknownProtocol it will
  // not leave the socket open if the client does not close it.
  
  if (!common.hasCrypto)
    common.skip('missing crypto');
  
  const h2 = require('http2');
  const tls = require('tls');
  
  const server = h2.createSecureServer({
    key: fixtures.readKey('rsa_private.pem'),
    cert: fixtures.readKey('rsa_cert.crt'),
    unknownProtocolTimeout: 500,
    allowHalfOpen: true
  });
  
  server.on('connection', (socket) => {
    socket.on('close', common.mustCall(() => {
      server.close();
    }));
  });
  
  server.listen(0, function() {
    tls.connect({
      port: server.address().port,
      rejectUnauthorized: false,
      ALPNProtocols: ['bogus']
    });
  });
  