Expected behavior
HPM should upgrade websocket requests always
Actual behavior
HPM websocket proxy cannot upgrade websocket connections sporadically
Setup
- http-proxy-middleware: 0.17.1
- server: tornado 4.4.1 - Tornado Github
- webpack: 1.13.2
- webpack-dev-server: 1.16.1
proxy middleware configuration
devServer: {
proxy: {
'/hyperguard/websocket/*': {
target: 'ws://localhost:8082',
ws: true
}
}
}
server mounting
def serve_forever(self):
app = self.__make_app()
self.__http_server = HTTPServer(app)
self.__http_server._handle_connection = self._handle_connection
self.__http_server.listen(self.__port, self.__host)
app.ssl_enabled = self.__ssl_options is not None
self.__ioloop.start()
Howto Reproduce
http stream request
GET /hyperguard/websocket HTTP/1.1
Host: localhost:8079
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Sec-WebSocket-Version: 13
origin: http://localhost:8079
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: yrOcNHCvvVuGgttYgv9nzA==
Connection: keep-alive, Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
http stream response
getting this response only sometimes, if not the websocket connection never be established
HTTP/1.1 101 Switching Protocols
upgrade: websocket
connection: Upgrade
sec-websocket-accept: I3u4B7iakSJWk4yLd02hfn+enus=
- that issue also occurs on different platforms (fedora 22, ubuntu 14.04, centos7)
- restarting webpack-dev-server doesnt change anything
Expected behavior
HPM should upgrade websocket requests always
Actual behavior
HPM websocket proxy cannot upgrade websocket connections sporadically
Setup
proxy middleware configuration
server mounting
Howto Reproduce
http stream request
http stream response
getting this response only sometimes, if not the websocket connection never be established