We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Following code accept only upgrade header equal to websocket, thats not correct as stated in link
websocket
node-http2-proxy/index.js
Lines 30 to 58 in 999b05f
For example, the client might send a GET request as shown, listing the preferred protocols to switch to (in this case "example/1" and "foo/2"):
GET /index.html HTTP/1.1 Host: www.example.com Connection: upgrade Upgrade: example/1, foo/2
Send back a 101 Switching Protocols response status with an Upgrade header that specifies the protocol(s) being switched to. For example:
HTTP/1.1 101 Switching Protocols Upgrade: foo/2 Connection: Upgrade
Simple fix example
async function proxy ( { req, socket, res = socket, head, proxyName }, onReq, onRes ) { if (req.aborted) { return } const headers = getRequestHeaders(req, proxyName) if (head !== undefined) { if (req.method !== 'GET') { throw new HttpError('only GET request allowed', null, 405) } if (req.headers[UPGRADE] === undefined) { throw new HttpError('missing upgrade header', null, 400) } if (head && head.length) { res.unshift(head) } setupSocket(res) headers[CONNECTION] = 'upgrade' headers[UPGRADE] = req.headers[UPGRADE] }
The text was updated successfully, but these errors were encountered:
A tmp workaround is to do the following:
const upgrade = req.headers.upgrade; // https://github.com/nxtedition/node-http2-proxy/issues/56 req.method = 'GET'; req.headers.upgrade = 'websocket'; proxy.ws(req, socket, head, { hostname, port, onReq: (req, { headers }) => { // https://github.com/nxtedition/node-http2-proxy/issues/56 headers!.upgrade = upgrade; }, }, defaultWsHandler);
Sorry, something went wrong.
No branches or pull requests
Following code accept only upgrade header equal to
websocket
, thats not correct as stated in linknode-http2-proxy/index.js
Lines 30 to 58 in 999b05f
For example, the client might send a GET request as shown, listing the preferred protocols to switch to (in this case "example/1" and "foo/2"):
Send back a 101 Switching Protocols response status with an Upgrade header that specifies the protocol(s) being switched to. For example:
Simple fix example
The text was updated successfully, but these errors were encountered: