| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent e0e0ef7 commit 1d88266
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -453,6 +453,7 @@ function socketOnData(d) { | |||
| 453 | 453 | socket.removeListener('data', socketOnData); | |
| 454 | 454 | socket.removeListener('end', socketOnEnd); | |
| 455 | 455 | parser.finish(); | |
| 456 | + freeParser(parser, req, socket); | ||
| 456 | 457 | ||
| 457 | 458 | var bodyHead = d.slice(bytesParsed, d.length); | |
| 458 | 459 | ||
@@ -475,7 +476,6 @@ function socketOnData(d) { | |||
| 475 | 476 | // Got Upgrade header or CONNECT method, but have no handler. | |
| 476 | 477 | socket.destroy(); | |
| 477 | 478 | } | |
| 478 | - freeParser(parser, req, socket); | ||
| 479 | 479 | } else if (parser.incoming && parser.incoming.complete && | |
| 480 | 480 | // When the status code is 100 (Continue), the server will | |
| 481 | 481 | // send a final response after this client sends a request | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,33 @@ | |||
| 1 | + 'use strict'; | ||
| 2 | + | ||
| 3 | + const common = require('../common'); | ||
| 4 | + const assert = require('assert'); | ||
| 5 | + const http = require('http'); | ||
| 6 | + | ||
| 7 | + const server = http.createServer(); | ||
| 8 | + | ||
| 9 | + server.on('upgrade', common.mustCall((request, socket) => { | ||
| 10 | + assert.strictEqual(socket.parser, null); | ||
| 11 | + socket.write([ | ||
| 12 | + 'HTTP/1.1 101 Switching Protocols', | ||
| 13 | + 'Connection: Upgrade', | ||
| 14 | + 'Upgrade: WebSocket', | ||
| 15 | + '\r\n' | ||
| 16 | + ].join('\r\n')); | ||
| 17 | + })); | ||
| 18 | + | ||
| 19 | + server.listen(common.mustCall(() => { | ||
| 20 | + const request = http.get({ | ||
| 21 | + port: server.address().port, | ||
| 22 | + headers: { | ||
| 23 | + Connection: 'Upgrade', | ||
| 24 | + Upgrade: 'WebSocket' | ||
| 25 | + } | ||
| 26 | + }); | ||
| 27 | + | ||
| 28 | + request.on('upgrade', common.mustCall((response, socket) => { | ||
| 29 | + assert.strictEqual(socket.parser, null); | ||
| 30 | + socket.destroy(); | ||
| 31 | + server.close(); | ||
| 32 | + })); | ||
| 33 | + })); | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments