Skip to content

Commit e176225

Browse files
committed
fix(ws): internal server upgrade
1 parent 616f60f commit e176225

File tree

4 files changed

+11
-8
lines changed

4 files changed

+11
-8
lines changed

CHANGELOG.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# Changelog
22

3-
## next
3+
## [v0.20.0](https://github.com/chimurai/http-proxy-middleware/releases/tag/v0.20.0)
44

5+
- fix(ws): concurrent websocket requests do not get upgraded ([#335](https://github.com/chimurai/http-proxy-middleware/issues/335))
56
- chore: drop node 6 (BREAKING CHANGE)
67
- chore: update to micromatch@4 ([BREAKING CHANGE](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md#400---2019-03-20))
78
- chore: update dev dependencies

examples/websocket/index.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,13 @@ <h2>WebSocket demo</h2>
6767

6868
function connect() {
6969
setupSocket(location.value);
70+
toggleControls();
7071
}
7172

7273
function disconnect() {
7374
socket.close();
7475
socket = undefined;
76+
toggleControls();
7577
}
7678

7779
function sendMessage(val) {
@@ -83,11 +85,9 @@ <h2>WebSocket demo</h2>
8385
socket = new WebSocket(url);
8486
socket.addEventListener('open', () => {
8587
log('CONNECTED');
86-
toggleControls();
8788
})
8889
socket.addEventListener('close', () => {
8990
log('DISCONNECTED');
90-
toggleControls()
9191
})
9292
socket.addEventListener('error', () => { log('SOCKET ERROR OCCURED'); })
9393
socket.addEventListener('message', (msg) => { log('RECEIVED:' + msg.data); })

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "http-proxy-middleware",
3-
"version": "0.20.0-beta.2",
3+
"version": "0.20.0",
44
"description": "The one-liner node.js proxy middleware for connect, express and browser-sync",
55
"main": "dist/index.js",
66
"files": [

src/http-proxy-middleware.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,12 @@ export class HttpProxyMiddleware {
6060
};
6161

6262
private catchUpgradeRequest = server => {
63-
server.on('upgrade', this.handleUpgrade);
64-
// prevent duplicate upgrade handling;
65-
// in case external upgrade is also configured
66-
this.wsInternalSubscribed = true;
63+
if (!this.wsInternalSubscribed) {
64+
server.on('upgrade', this.handleUpgrade);
65+
// prevent duplicate upgrade handling;
66+
// in case external upgrade is also configured
67+
this.wsInternalSubscribed = true;
68+
}
6769
};
6870

6971
private handleUpgrade = (req, socket, head) => {

0 commit comments

Comments
 (0)