-
Notifications
You must be signed in to change notification settings - Fork 323
New issue
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
httpForwarder.serveWebSocket Uses global dialer #199
Comments
brectanus-sigsci
pushed a commit
to signalsciences/oxy
that referenced
this issue
Jun 19, 2020
This change makes it so that each forward gets its own dialer rather then all sharing the global `websocket.DefaultDialer`. It fixes the flaky `TestWebSocketNumGoRoutine` test and allows `WebsocketTLSClientConfig` to set a different TLS config than the one used in the http `RoundTripper`, the TLS config in the http `RoundTripper` will still be used as a fallback if one wasn't set by the user. Adds the new `optSetter` `WebsocketNetDialContext` to set a custom DialContet for WebSocket use. - `go test -run=TestWebSocketNumGoRoutine -count=100 ./forward` now passes. Removed the skip directive. - Closes vulcand#199 - Closes vulcand#125
ericrpowers
pushed a commit
to aporeto-inc/oxy
that referenced
this issue
May 28, 2021
This change makes it so that each forward gets its own dialer rather then all sharing the global `websocket.DefaultDialer`. It fixes the flaky `TestWebSocketNumGoRoutine` test and allows `WebsocketTLSClientConfig` to set a different TLS config than the one used in the http `RoundTripper`, the TLS config in the http `RoundTripper` will still be used as a fallback if one wasn't set by the user. Adds the new `optSetter` `WebsocketNetDialContext` to set a custom DialContet for WebSocket use. - `go test -run=TestWebSocketNumGoRoutine -count=100 ./forward` now passes. Removed the skip directive. - Closes vulcand#199 - Closes vulcand#125
ericrpowers
pushed a commit
to aporeto-inc/oxy
that referenced
this issue
Jun 3, 2021
* Use gorilla DialContext (vulcand#158) * Handle Te header when http2 (vulcand#157) * fix: buffer error and go1.11. (vulcand#159) * fix: buffer error and go1.11. * chore: add go1.11 in Travis. * review: comment. * fix: use internal logger. (vulcand#160) * fix: body should never be nil (vulcand#162) * Pass host header for Websocket. (vulcand#163) * feat: pass host header for Websocket. * add tests. * fix: golint. (vulcand#165) * Flush when we have unannonced trailers (vulcand#168) * Flush when we have unannonced trailers * Remove 1.8, not supported in golint anymore * add missing callback on close of hijacked connections (vulcand#175) * Allowing sticky session's affinity cookies to be created with more options such as HttpOnly or Secure (vulcand#174) * Ensuring the CookieOption struct's fields are exported (vulcand#179) * ensuring the CookieOption struct's fields are exported (vulcand#174) * dep ensuring * Updating failing test, I should pay more attention * dep ensuring has caused problems, reverting. Although this is really strange that dep should do this * chore: migrate to go module. (vulcand#182) * Update README.md Go library change godoc to "pkg.go.dev" * feat: add more cookie options. (vulcand#195) * chore: update dependencies. * feat: add more cookie options. * chore: update travis configuration. * Add Fallback setter on CircuitBreaker (vulcand#201) Signed-off-by: Sylvain Rabot <sylvain@abstraction.fr> * review. * doc: buffer.go: s/request/response/ (vulcand#172) * doc: typo fix /serveHTTP/serveWebSocket/s (vulcand#176) * Make the MakeRateError delay field public so that custom RateErrHandlers can be more easily written (vulcand#206) * fix typo (vulcand#212) * Fix panics on ratelimit period (division by zero) (vulcand#213) * Bump to go1.16 (vulcand#214) * Add a mechanism to format the sticky cookie value (vulcand#216) Co-authored-by: Tom Moulard <tom.moulard@traefik.io> Co-authored-by: M <m@cognusion.com> Co-authored-by: Sylvain Rabot <sylvain@abstraction.fr> * Do not use global websocket.DefaultDialer This change makes it so that each forward gets its own dialer rather then all sharing the global `websocket.DefaultDialer`. It fixes the flaky `TestWebSocketNumGoRoutine` test and allows `WebsocketTLSClientConfig` to set a different TLS config than the one used in the http `RoundTripper`, the TLS config in the http `RoundTripper` will still be used as a fallback if one wasn't set by the user. Adds the new `optSetter` `WebsocketNetDialContext` to set a custom DialContet for WebSocket use. - `go test -run=TestWebSocketNumGoRoutine -count=100 ./forward` now passes. Removed the skip directive. - Closes vulcand#199 - Closes vulcand#125 * Revert un-skipping test * Update: Cleanup local and remote merged changes Co-authored-by: SALLEYRON Julien <julien.salleyron@gmail.com> Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com> Co-authored-by: Michael <mmatur@users.noreply.github.com> Co-authored-by: ravilr <raviprasad_lr@yahoo.com> Co-authored-by: Amir Keibi <gheibia@users.noreply.github.com> Co-authored-by: colynn.liu <colynnliu@foxmail.com> Co-authored-by: Sylvain Rabot <sylvain@abstraction.fr> Co-authored-by: Fernandez Ludovic <lfernandez.dev@gmail.com> Co-authored-by: colynn.liu <colynn.liu@gmail.com> Co-authored-by: Wes Turner <50891+westurner@users.noreply.github.com> Co-authored-by: Ben Yanke <ben@benyanke.com> Co-authored-by: Peter C <somethingnew2-0@users.noreply.github.com> Co-authored-by: Iman Sahebi <iman.s_sani@yahoo.com> Co-authored-by: Douglas De Toni Machado <douglas.machado@traefik.io> Co-authored-by: Romain <rtribotte@users.noreply.github.com> Co-authored-by: Jean-Baptiste Doumenjou <925513+jbdoumenjou@users.noreply.github.com> Co-authored-by: Tom Moulard <tom.moulard@traefik.io> Co-authored-by: M <m@cognusion.com> Co-authored-by: Clifton Kaznocha <ckaznocha@users.noreply.github.com> Co-authored-by: Clifton Kaznocha <ckaznocha@gmail.com>
itsai220
added a commit
to aporeto-inc/oxy
that referenced
this issue
Jul 13, 2021
* Use gorilla DialContext (vulcand#158) * Handle Te header when http2 (vulcand#157) * fix: buffer error and go1.11. (vulcand#159) * fix: buffer error and go1.11. * chore: add go1.11 in Travis. * review: comment. * fix: use internal logger. (vulcand#160) * fix: body should never be nil (vulcand#162) * Pass host header for Websocket. (vulcand#163) * feat: pass host header for Websocket. * add tests. * fix: golint. (vulcand#165) * Flush when we have unannonced trailers (vulcand#168) * Flush when we have unannonced trailers * Remove 1.8, not supported in golint anymore * add missing callback on close of hijacked connections (vulcand#175) * Allowing sticky session's affinity cookies to be created with more options such as HttpOnly or Secure (vulcand#174) * Ensuring the CookieOption struct's fields are exported (vulcand#179) * ensuring the CookieOption struct's fields are exported (vulcand#174) * dep ensuring * Updating failing test, I should pay more attention * dep ensuring has caused problems, reverting. Although this is really strange that dep should do this * chore: migrate to go module. (vulcand#182) * Update README.md Go library change godoc to "pkg.go.dev" * feat: add more cookie options. (vulcand#195) * chore: update dependencies. * feat: add more cookie options. * chore: update travis configuration. * Add Fallback setter on CircuitBreaker (vulcand#201) Signed-off-by: Sylvain Rabot <sylvain@abstraction.fr> * review. * doc: buffer.go: s/request/response/ (vulcand#172) * doc: typo fix /serveHTTP/serveWebSocket/s (vulcand#176) * Make the MakeRateError delay field public so that custom RateErrHandlers can be more easily written (vulcand#206) * fix typo (vulcand#212) * Fix panics on ratelimit period (division by zero) (vulcand#213) * Bump to go1.16 (vulcand#214) * Add a mechanism to format the sticky cookie value (vulcand#216) Co-authored-by: Tom Moulard <tom.moulard@traefik.io> Co-authored-by: M <m@cognusion.com> Co-authored-by: Sylvain Rabot <sylvain@abstraction.fr> * Do not use global websocket.DefaultDialer This change makes it so that each forward gets its own dialer rather then all sharing the global `websocket.DefaultDialer`. It fixes the flaky `TestWebSocketNumGoRoutine` test and allows `WebsocketTLSClientConfig` to set a different TLS config than the one used in the http `RoundTripper`, the TLS config in the http `RoundTripper` will still be used as a fallback if one wasn't set by the user. Adds the new `optSetter` `WebsocketNetDialContext` to set a custom DialContet for WebSocket use. - `go test -run=TestWebSocketNumGoRoutine -count=100 ./forward` now passes. Removed the skip directive. - Closes vulcand#199 - Closes vulcand#125 * Revert un-skipping test * Update: Cleanup local and remote merged changes Co-authored-by: SALLEYRON Julien <julien.salleyron@gmail.com> Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com> Co-authored-by: Michael <mmatur@users.noreply.github.com> Co-authored-by: ravilr <raviprasad_lr@yahoo.com> Co-authored-by: Amir Keibi <gheibia@users.noreply.github.com> Co-authored-by: colynn.liu <colynnliu@foxmail.com> Co-authored-by: Sylvain Rabot <sylvain@abstraction.fr> Co-authored-by: Fernandez Ludovic <lfernandez.dev@gmail.com> Co-authored-by: colynn.liu <colynn.liu@gmail.com> Co-authored-by: Wes Turner <50891+westurner@users.noreply.github.com> Co-authored-by: Ben Yanke <ben@benyanke.com> Co-authored-by: Peter C <somethingnew2-0@users.noreply.github.com> Co-authored-by: Iman Sahebi <iman.s_sani@yahoo.com> Co-authored-by: Douglas De Toni Machado <douglas.machado@traefik.io> Co-authored-by: Romain <rtribotte@users.noreply.github.com> Co-authored-by: Jean-Baptiste Doumenjou <925513+jbdoumenjou@users.noreply.github.com> Co-authored-by: Tom Moulard <tom.moulard@traefik.io> Co-authored-by: M <m@cognusion.com> Co-authored-by: Clifton Kaznocha <ckaznocha@users.noreply.github.com> Co-authored-by: Clifton Kaznocha <ckaznocha@gmail.com> Co-authored-by: Eric Powers <epowers@paloaltonetworks.com> Co-authored-by: SALLEYRON Julien <julien.salleyron@gmail.com> Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com> Co-authored-by: Michael <mmatur@users.noreply.github.com> Co-authored-by: ravilr <raviprasad_lr@yahoo.com> Co-authored-by: Amir Keibi <gheibia@users.noreply.github.com> Co-authored-by: colynn.liu <colynnliu@foxmail.com> Co-authored-by: Sylvain Rabot <sylvain@abstraction.fr> Co-authored-by: Fernandez Ludovic <lfernandez.dev@gmail.com> Co-authored-by: colynn.liu <colynn.liu@gmail.com> Co-authored-by: Wes Turner <50891+westurner@users.noreply.github.com> Co-authored-by: Ben Yanke <ben@benyanke.com> Co-authored-by: Peter C <somethingnew2-0@users.noreply.github.com> Co-authored-by: Iman Sahebi <iman.s_sani@yahoo.com> Co-authored-by: Douglas De Toni Machado <douglas.machado@traefik.io> Co-authored-by: Romain <rtribotte@users.noreply.github.com> Co-authored-by: Jean-Baptiste Doumenjou <925513+jbdoumenjou@users.noreply.github.com> Co-authored-by: Tom Moulard <tom.moulard@traefik.io> Co-authored-by: M <m@cognusion.com> Co-authored-by: Clifton Kaznocha <ckaznocha@users.noreply.github.com> Co-authored-by: Clifton Kaznocha <ckaznocha@gmail.com>
itsai220
added a commit
to aporeto-inc/oxy
that referenced
this issue
Aug 4, 2021
* Use gorilla DialContext (vulcand#158) * Handle Te header when http2 (vulcand#157) * fix: buffer error and go1.11. (vulcand#159) * fix: buffer error and go1.11. * chore: add go1.11 in Travis. * review: comment. * fix: use internal logger. (vulcand#160) * fix: body should never be nil (vulcand#162) * Pass host header for Websocket. (vulcand#163) * feat: pass host header for Websocket. * add tests. * fix: golint. (vulcand#165) * Flush when we have unannonced trailers (vulcand#168) * Flush when we have unannonced trailers * Remove 1.8, not supported in golint anymore * add missing callback on close of hijacked connections (vulcand#175) * Allowing sticky session's affinity cookies to be created with more options such as HttpOnly or Secure (vulcand#174) * Ensuring the CookieOption struct's fields are exported (vulcand#179) * ensuring the CookieOption struct's fields are exported (vulcand#174) * dep ensuring * Updating failing test, I should pay more attention * dep ensuring has caused problems, reverting. Although this is really strange that dep should do this * chore: migrate to go module. (vulcand#182) * Update README.md Go library change godoc to "pkg.go.dev" * feat: add more cookie options. (vulcand#195) * chore: update dependencies. * feat: add more cookie options. * chore: update travis configuration. * Add Fallback setter on CircuitBreaker (vulcand#201) Signed-off-by: Sylvain Rabot <sylvain@abstraction.fr> * review. * doc: buffer.go: s/request/response/ (vulcand#172) * doc: typo fix /serveHTTP/serveWebSocket/s (vulcand#176) * Make the MakeRateError delay field public so that custom RateErrHandlers can be more easily written (vulcand#206) * fix typo (vulcand#212) * Fix panics on ratelimit period (division by zero) (vulcand#213) * Bump to go1.16 (vulcand#214) * Add a mechanism to format the sticky cookie value (vulcand#216) Co-authored-by: Tom Moulard <tom.moulard@traefik.io> Co-authored-by: M <m@cognusion.com> Co-authored-by: Sylvain Rabot <sylvain@abstraction.fr> * Do not use global websocket.DefaultDialer This change makes it so that each forward gets its own dialer rather then all sharing the global `websocket.DefaultDialer`. It fixes the flaky `TestWebSocketNumGoRoutine` test and allows `WebsocketTLSClientConfig` to set a different TLS config than the one used in the http `RoundTripper`, the TLS config in the http `RoundTripper` will still be used as a fallback if one wasn't set by the user. Adds the new `optSetter` `WebsocketNetDialContext` to set a custom DialContet for WebSocket use. - `go test -run=TestWebSocketNumGoRoutine -count=100 ./forward` now passes. Removed the skip directive. - Closes vulcand#199 - Closes vulcand#125 * Revert un-skipping test * Update: Cleanup local and remote merged changes Co-authored-by: SALLEYRON Julien <julien.salleyron@gmail.com> Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com> Co-authored-by: Michael <mmatur@users.noreply.github.com> Co-authored-by: ravilr <raviprasad_lr@yahoo.com> Co-authored-by: Amir Keibi <gheibia@users.noreply.github.com> Co-authored-by: colynn.liu <colynnliu@foxmail.com> Co-authored-by: Sylvain Rabot <sylvain@abstraction.fr> Co-authored-by: Fernandez Ludovic <lfernandez.dev@gmail.com> Co-authored-by: colynn.liu <colynn.liu@gmail.com> Co-authored-by: Wes Turner <50891+westurner@users.noreply.github.com> Co-authored-by: Ben Yanke <ben@benyanke.com> Co-authored-by: Peter C <somethingnew2-0@users.noreply.github.com> Co-authored-by: Iman Sahebi <iman.s_sani@yahoo.com> Co-authored-by: Douglas De Toni Machado <douglas.machado@traefik.io> Co-authored-by: Romain <rtribotte@users.noreply.github.com> Co-authored-by: Jean-Baptiste Doumenjou <925513+jbdoumenjou@users.noreply.github.com> Co-authored-by: Tom Moulard <tom.moulard@traefik.io> Co-authored-by: M <m@cognusion.com> Co-authored-by: Clifton Kaznocha <ckaznocha@users.noreply.github.com> Co-authored-by: Clifton Kaznocha <ckaznocha@gmail.com> Co-authored-by: Eric Powers <epowers@paloaltonetworks.com> Co-authored-by: SALLEYRON Julien <julien.salleyron@gmail.com> Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com> Co-authored-by: Michael <mmatur@users.noreply.github.com> Co-authored-by: ravilr <raviprasad_lr@yahoo.com> Co-authored-by: Amir Keibi <gheibia@users.noreply.github.com> Co-authored-by: colynn.liu <colynnliu@foxmail.com> Co-authored-by: Sylvain Rabot <sylvain@abstraction.fr> Co-authored-by: Fernandez Ludovic <lfernandez.dev@gmail.com> Co-authored-by: colynn.liu <colynn.liu@gmail.com> Co-authored-by: Wes Turner <50891+westurner@users.noreply.github.com> Co-authored-by: Ben Yanke <ben@benyanke.com> Co-authored-by: Peter C <somethingnew2-0@users.noreply.github.com> Co-authored-by: Iman Sahebi <iman.s_sani@yahoo.com> Co-authored-by: Douglas De Toni Machado <douglas.machado@traefik.io> Co-authored-by: Romain <rtribotte@users.noreply.github.com> Co-authored-by: Jean-Baptiste Doumenjou <925513+jbdoumenjou@users.noreply.github.com> Co-authored-by: Tom Moulard <tom.moulard@traefik.io> Co-authored-by: M <m@cognusion.com> Co-authored-by: Clifton Kaznocha <ckaznocha@users.noreply.github.com> Co-authored-by: Clifton Kaznocha <ckaznocha@gmail.com>
itsai220
added a commit
to aporeto-inc/oxy
that referenced
this issue
Sep 2, 2021
* Fixed: Remove data race around default dialer (#6) * Use gorilla DialContext (vulcand#158) * Handle Te header when http2 (vulcand#157) * fix: buffer error and go1.11. (vulcand#159) * fix: buffer error and go1.11. * chore: add go1.11 in Travis. * review: comment. * fix: use internal logger. (vulcand#160) * fix: body should never be nil (vulcand#162) * Pass host header for Websocket. (vulcand#163) * feat: pass host header for Websocket. * add tests. * fix: golint. (vulcand#165) * Flush when we have unannonced trailers (vulcand#168) * Flush when we have unannonced trailers * Remove 1.8, not supported in golint anymore * add missing callback on close of hijacked connections (vulcand#175) * Allowing sticky session's affinity cookies to be created with more options such as HttpOnly or Secure (vulcand#174) * Ensuring the CookieOption struct's fields are exported (vulcand#179) * ensuring the CookieOption struct's fields are exported (vulcand#174) * dep ensuring * Updating failing test, I should pay more attention * dep ensuring has caused problems, reverting. Although this is really strange that dep should do this * chore: migrate to go module. (vulcand#182) * Update README.md Go library change godoc to "pkg.go.dev" * feat: add more cookie options. (vulcand#195) * chore: update dependencies. * feat: add more cookie options. * chore: update travis configuration. * Add Fallback setter on CircuitBreaker (vulcand#201) Signed-off-by: Sylvain Rabot <sylvain@abstraction.fr> * review. * doc: buffer.go: s/request/response/ (vulcand#172) * doc: typo fix /serveHTTP/serveWebSocket/s (vulcand#176) * Make the MakeRateError delay field public so that custom RateErrHandlers can be more easily written (vulcand#206) * fix typo (vulcand#212) * Fix panics on ratelimit period (division by zero) (vulcand#213) * Bump to go1.16 (vulcand#214) * Add a mechanism to format the sticky cookie value (vulcand#216) Co-authored-by: Tom Moulard <tom.moulard@traefik.io> Co-authored-by: M <m@cognusion.com> Co-authored-by: Sylvain Rabot <sylvain@abstraction.fr> * Do not use global websocket.DefaultDialer This change makes it so that each forward gets its own dialer rather then all sharing the global `websocket.DefaultDialer`. It fixes the flaky `TestWebSocketNumGoRoutine` test and allows `WebsocketTLSClientConfig` to set a different TLS config than the one used in the http `RoundTripper`, the TLS config in the http `RoundTripper` will still be used as a fallback if one wasn't set by the user. Adds the new `optSetter` `WebsocketNetDialContext` to set a custom DialContet for WebSocket use. - `go test -run=TestWebSocketNumGoRoutine -count=100 ./forward` now passes. Removed the skip directive. - Closes vulcand#199 - Closes vulcand#125 * Revert un-skipping test * Update: Cleanup local and remote merged changes Co-authored-by: SALLEYRON Julien <julien.salleyron@gmail.com> Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com> Co-authored-by: Michael <mmatur@users.noreply.github.com> Co-authored-by: ravilr <raviprasad_lr@yahoo.com> Co-authored-by: Amir Keibi <gheibia@users.noreply.github.com> Co-authored-by: colynn.liu <colynnliu@foxmail.com> Co-authored-by: Sylvain Rabot <sylvain@abstraction.fr> Co-authored-by: Fernandez Ludovic <lfernandez.dev@gmail.com> Co-authored-by: colynn.liu <colynn.liu@gmail.com> Co-authored-by: Wes Turner <50891+westurner@users.noreply.github.com> Co-authored-by: Ben Yanke <ben@benyanke.com> Co-authored-by: Peter C <somethingnew2-0@users.noreply.github.com> Co-authored-by: Iman Sahebi <iman.s_sani@yahoo.com> Co-authored-by: Douglas De Toni Machado <douglas.machado@traefik.io> Co-authored-by: Romain <rtribotte@users.noreply.github.com> Co-authored-by: Jean-Baptiste Doumenjou <925513+jbdoumenjou@users.noreply.github.com> Co-authored-by: Tom Moulard <tom.moulard@traefik.io> Co-authored-by: M <m@cognusion.com> Co-authored-by: Clifton Kaznocha <ckaznocha@users.noreply.github.com> Co-authored-by: Clifton Kaznocha <ckaznocha@gmail.com> * fixed: forwarder did not set deadline for ws connections (#11) * fixed: forwarder did not set deadline for ws connections * remove debug prints Co-authored-by: Primalmotion <primalmotion@pm.me> Co-authored-by: Eric Powers <epowers@paloaltonetworks.com> Co-authored-by: SALLEYRON Julien <julien.salleyron@gmail.com> Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com> Co-authored-by: Michael <mmatur@users.noreply.github.com> Co-authored-by: ravilr <raviprasad_lr@yahoo.com> Co-authored-by: Amir Keibi <gheibia@users.noreply.github.com> Co-authored-by: colynn.liu <colynnliu@foxmail.com> Co-authored-by: Sylvain Rabot <sylvain@abstraction.fr> Co-authored-by: Fernandez Ludovic <lfernandez.dev@gmail.com> Co-authored-by: colynn.liu <colynn.liu@gmail.com> Co-authored-by: Wes Turner <50891+westurner@users.noreply.github.com> Co-authored-by: Ben Yanke <ben@benyanke.com> Co-authored-by: Peter C <somethingnew2-0@users.noreply.github.com> Co-authored-by: Iman Sahebi <iman.s_sani@yahoo.com> Co-authored-by: Douglas De Toni Machado <douglas.machado@traefik.io> Co-authored-by: Romain <rtribotte@users.noreply.github.com> Co-authored-by: Jean-Baptiste Doumenjou <925513+jbdoumenjou@users.noreply.github.com> Co-authored-by: Tom Moulard <tom.moulard@traefik.io> Co-authored-by: M <m@cognusion.com> Co-authored-by: Clifton Kaznocha <ckaznocha@users.noreply.github.com> Co-authored-by: Clifton Kaznocha <ckaznocha@gmail.com> Co-authored-by: primalmotion <208711+primalmotion@users.noreply.github.com> Co-authored-by: Primalmotion <primalmotion@pm.me>
freeformz
pushed a commit
to freeformz/oxy
that referenced
this issue
May 9, 2022
This change makes it so that each forward gets its own dialer rather then all sharing the global `websocket.DefaultDialer`. It fixes the flaky `TestWebSocketNumGoRoutine` test and allows `WebsocketTLSClientConfig` to set a different TLS config than the one used in the http `RoundTripper`, the TLS config in the http `RoundTripper` will still be used as a fallback if one wasn't set by the user. Adds the new `optSetter` `WebsocketNetDialContext` to set a custom DialContet for WebSocket use. - `go test -run=TestWebSocketNumGoRoutine -count=100 ./forward` now passes. Removed the skip directive. - Closes vulcand#199 - Closes vulcand#125
freeformz
pushed a commit
to freeformz/oxy
that referenced
this issue
May 11, 2022
This change makes it so that each forward gets its own dialer rather then all sharing the global `websocket.DefaultDialer`. It fixes the flaky `TestWebSocketNumGoRoutine` test and allows `WebsocketTLSClientConfig` to set a different TLS config than the one used in the http `RoundTripper`, the TLS config in the http `RoundTripper` will still be used as a fallback if one wasn't set by the user. Adds the new `optSetter` `WebsocketNetDialContext` to set a custom DialContet for WebSocket use. - `go test -run=TestWebSocketNumGoRoutine -count=100 ./forward` now passes. Removed the skip directive. - Closes vulcand#199 - Closes vulcand#125
Considering refactoring #229, the specific code for WebSocket has been removed. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
serveWebSocket
uses the globalwebsocket.DefaultDialer
to dial WebSocket connections. This would not be an issue except each call toserveWebSocket
may modifywebsocket.DefaultDialer.TLSClientConfig
. This means there may be unpredictable behavior if an application has more than one forwarder serving WebSockets. This could potentially be the cause of #125I would also like to add an
optSetter
to modify the WebSocket Dialer the use of a global dialer is blocking that feature.Happy to send a PR!
The text was updated successfully, but these errors were encountered: