Skip to content

Support for http2 #78

Description

@FabianEmmes

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);

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions