Skip to content

Support for http2 #78

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
FabianEmmes opened this issue Apr 4, 2016 · 2 comments
Closed

Support for http2 #78

FabianEmmes opened this issue Apr 4, 2016 · 2 comments
Assignees

Comments

@FabianEmmes
Copy link

Currently, compression does not work with http2. I guess, when using http2, doing chunked transfer-enconding is not necessary, so I'm not sure if http2 support is in the scope of this project.

The following code tries to use http2 with compression and throws a TypeError: this._implicitHeader is not a function.

// tested with:
//   "dependencies": {
//     "compression": "^1.6.1",
//     "connect": "^3.4.1",
//     "http2": "^3.3.2"
//   }

var connect = require('connect');
var http2 = require('http2');
var compression = require('compression');

var app = connect();

app.use(compression());

app.use(function(req, res, next){
   for (var i = 1000; i > 0; --i) {
      res.write('test');
   }
   res.end();
});

var options = {
   key: '-----BEGIN PRIVATE KEY-----\nMIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALCFSC+jZCN4JHCj\nI/dXL5ZviSYjc4vvOlFBvA4lYu6ReNqICUw1p9ULp/xVrWR7yEtzq+yB+NMrTD1T\nxO4VYKQrDqrYjnshCSo+kbcvyyOh3gO6nZjdVGj50OdrTNof1IL1NNdiknLvxtT6\n1dER8G6DJ/GdgW8v1P65q0sSXOm7AgMBAAECgYBhUdouiYKYG5DbmNYnc6YE5pFS\nuZDmwYoBaqBnnC0jIoji0sVtgtd5GegPspzaHXScRLWwuyeYJPLvjNOx/487iO4Q\nRvf1mgZJ/f1c5MzAmGgbiFFfm79wYZEOeFHRUTCzSgNndRaRHZEABriOEKarcdN9\nt+S5I6/8SxBdXgiuAQJBAN5eIaFxgzSNcoOzN339IeeteGTlXwyxqi/D4ODHv0Ro\nwvjccSiW9QFmcy5MmxkYuFWzuJTea2qLVgJam0EngsECQQDLN/7DtXb9F3Ljithx\nF3SckZxr0Z6WAYPct5Qe4W1AA/ap6XbNXfzsk3f92Cl3H3DaZTvfRUkIMRaDlsxW\n0dd7AkBDwGp+xhcz6+T4O6KswHOUI0aLd1d+hqNT6lqaIkIklcbSDFhuBZCg3JY7\nhRu8icugUSHsOdiAnfOWxASJ1YABAkAILUed/lY8Vs4zo6mT21rA1gcSO4wDAyqY\nHfbiyzVHJyGsso0qNEbyCfkBCMqaVXSIBRzEnhgTMU5zmwS71ZOzAkEAmYIf3UAO\n3VOSGhRFUiJzo+yJtXd69Z7vJK+jPZ0lZ0Ugo/AD/l8l56Y90sdHUchdJbCUdmwK\n9nsjxgWeUcPg1A==\n-----END PRIVATE KEY-----',
   cert: '-----BEGIN CERTIFICATE-----\nMIICcjCCAdugAwIBAgIJAId3TwNpkpWoMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV\nBAYTAkRFMQwwCgYDVQQIDANOUlcxDzANBgNVBAcMBkFhY2hlbjEQMA4GA1UECgwH\nTGF4YXJKUzESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTE2MDQwNDA5MTYxMFoXDTE3\nMDQwNDA5MTYxMFowUjELMAkGA1UEBhMCREUxDDAKBgNVBAgMA05SVzEPMA0GA1UE\nBwwGQWFjaGVuMRAwDgYDVQQKDAdMYXhhckpTMRIwEAYDVQQDDAlsb2NhbGhvc3Qw\ngZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALCFSC+jZCN4JHCjI/dXL5ZviSYj\nc4vvOlFBvA4lYu6ReNqICUw1p9ULp/xVrWR7yEtzq+yB+NMrTD1TxO4VYKQrDqrY\njnshCSo+kbcvyyOh3gO6nZjdVGj50OdrTNof1IL1NNdiknLvxtT61dER8G6DJ/Gd\ngW8v1P65q0sSXOm7AgMBAAGjUDBOMB0GA1UdDgQWBBQJ2dQYLeHpf+uQ3n0hWpE8\nHM5mfzAfBgNVHSMEGDAWgBQJ2dQYLeHpf+uQ3n0hWpE8HM5mfzAMBgNVHRMEBTAD\nAQH/MA0GCSqGSIb3DQEBCwUAA4GBAJndPgDbqKu5K1jv+ZCHSadWgxSAtmi64jE8\nXapNVUjLOI8nqZEyxIc5oF6+/CgXY8D/38yU1tb1eFNmav770Szv5skuWHVRajmZ\nBV61YQDN+RiJ2rRdoVxLNi6Amyf4IPaBZTO2SG4CsQd1LvhiYuTzB9hMpAWF9rax\n3AtqJd7e\n-----END CERTIFICATE-----'
};

http2.createServer(options, app).listen(3000);
@dougwilson
Copy link
Contributor

Just vote to get the PR molnarg/node-http2#189 accepted. It doesn't work because one of the functions for compatibility with Node.js core HTTP was not spelled correctly in http2.

@dougwilson dougwilson self-assigned this Apr 4, 2016
@sandysaders
Copy link

@dougwilson Is this still a problem?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants