node-http2
node-http2 copied to clipboard
node-http2 v4 via fork ?
Hello,
We started a fork that include cumulative fixes:
- https://github.com/kaazing/http2.js
See dedicated issue here: https://github.com/kaazing/http2.js/issues/1
Original Source and Fork intent
This NodeJS http2.js
module version is a fork of node-http2
hosted on Github originally made by Gábor Molnár and available here: https://github.com/molnarg/node-http2
This fork of node-http2
module named http2.js
starts at version 4.0.0
in case previous the repository decides to pick up work again on version 3.x.x
.
We are aware that node 8.4.0 now has experimental http2
support via --expose-http2
, and we will continue to support the full JavaScript implementation of http2.js
at our discretion until HTTP/2 is more fully supported in a broad range of client platforms.
Changes
4.0.1 (2017-10-01)
- Bugfixes from pull requests
- Fails to load in IE11 due to timers.setImmediate call
- Fix Node 5+ support #4 bug
- update object-keys module for Object.keys shim
4.0.0 (2017-08-23)
- Rename package from 'http2' to 'http2.js'.
- Fork from abandoned https://github.com/molnarg/node-http2 to https://github.com/kaazing/http2.js and change version to '4.0.0' to avoid confusion.
- Bugfixes from pull requests
- Clean up ended streams to free leaked memory (https://github.com/molnarg/node-http2/pull/200)
- Memory leak fix (by argon) and another 'upstream is not defined' check (https://github.com/molnarg/node-http2/pull/222)
- Allow frames to send after the arrival of the RST_STREAM. (https://github.com/molnarg/node-http2/pull/210)
- GOAWAY deserialization fix (https://github.com/molnarg/node-http2/pull/235)
- Update Mocha link (https://github.com/molnarg/node-http2/pull/229)
- Remove invalid assert (https://github.com/molnarg/node-http2/pull/236)
- Typo: finshed (https://github.com/molnarg/node-http2/pull/199)
- JSHINT all source (https://github.com/dpwspoon/node-http2/pull/4)
- Changed API to be fully pluggable for any transport or server (https://github.com/dpwspoon/node-http2/pull/2)
are you aware that node 8.4.0 now has experimental http2 support behind a --expose-http2 flag. It is much faster as it relies on nghttp2 under the hood which is native c (or c++?) code. I used to use this (molnarg/node-http2} module, but have now switched over to the one in core node.
There is a core layer that gives access to the underlying duplex streams and a compat layer that makes it as close to using http1 as possible.
Because it is behind an experimental flag the api is still changing, but it would be good for as many people as possible to use it and comment on whether the api works.
Yes, we are aware. We use this library in production in environments where this support is not yet available AND on client platforms that ARE NOT node based.
As such, we will continue to support node-http2 for some time until many various client platforms offer full http2 support.
Example of migration:
- https://github.com/maoberlehner/server-push-sandbox/commit/7408ee0afe74362631a09dac81e35a85af5c7e43#diff-8d44631bfd02d64ee75348ab92f466c0
4.0.3 (2018-07-18)
-
Update http.js to add support on request for
retry-after
header on503|429|302
status code.[About 503] The server returns an HTTP error 503 when more users than are allowed by the server's request queue limit have sent requests to a single server or when the actions of the client have triggered throttling.
Retry-After If a Retry-After header ([RFC2616]) is present in the response, the client SHOULD<6> retry the request after waiting the number of seconds indicated by the Retry-After header. Any such value represents an estimate of when the server is expected to be able to process the request.
- https://www.npmjs.com/package/http2.js
- https://github.com/kaazing/http2.js