A fast, well-tested and widely used WebSocket implementation for Go.
Go to file
Lluis Campos 9111bb834a
Dialer: add optional method NetDialTLSContext (#746)
Fixes issue: https://github.com/gorilla/websocket/issues/745

With the previous interface, NetDial and NetDialContext were used for
both TLS and non-TLS TCP connections, and afterwards TLSClientConfig was
used to do the TLS handshake.

While this API works for most cases, it prevents from using more advance
authentication methods during the TLS handshake, as this is out of the
control of the user.

This commits introduces another a new dial method, NetDialTLSContext,
which is used when dialing for TLS/TCP. The code then assumes that the
handshake is done there and TLSClientConfig is not used.

This API change is fully backwards compatible and it better aligns with
net/http.Transport API, which has these two dial flavors. See:
https://pkg.go.dev/net/http#Transport

Signed-off-by: Lluis Campos <lluis.campos@northern.tech>
2022-01-03 17:59:52 -08:00
.circleci Use context.Context in TLS handshake (#751) 2022-01-01 08:43:22 -08:00
.github Create release-drafter.yml (#538) 2019-08-24 18:20:11 -07:00
examples Update autobahn example 2022-01-02 11:21:21 -08:00
.gitignore add newline and remove extra space 2018-03-04 15:22:45 -08:00
AUTHORS Update LICENSE file to reflect Google employee contributions. 2018-06-05 13:25:52 -07:00
LICENSE Relicense to the Gorilla WebSocket Authors. 2014-04-18 14:25:11 -07:00
README.md Update README (#757) 2022-01-03 17:49:10 -08:00
client.go Dialer: add optional method NetDialTLSContext (#746) 2022-01-03 17:59:52 -08:00
client_server_test.go Dialer: add optional method NetDialTLSContext (#746) 2022-01-03 17:59:52 -08:00
client_test.go Replace parseURL() with net/url.Parse() (#290) 2017-10-12 19:08:58 -07:00
compression.go fix flate write pool size to work with best compression 2017-01-25 02:15:04 +03:00
compression_test.go Add write buffer pooling 2018-08-22 14:11:59 -07:00
conn.go Remove support for Go 1.8 2022-01-02 15:53:55 -08:00
conn_broadcast_test.go Fix broadcast benchmarks (#542) 2022-01-02 07:35:34 -08:00
conn_test.go Read Limit Fix (#537) 2019-08-24 18:17:28 -07:00
doc.go docs: Fix typo. (#568) 2020-03-19 10:45:00 -07:00
example_test.go Fix a couple of small typo's (#567) 2020-03-19 06:49:51 -07:00
go.mod Read Limit Fix (#537) 2019-08-24 18:17:28 -07:00
go.sum build: clean up go.sum (#584) 2020-03-19 10:50:51 -07:00
join.go Add JoinMessages 2019-02-04 16:42:47 -08:00
join_test.go Add JoinMessages 2019-02-04 16:42:47 -08:00
json.go Misc cleanup 2017-07-18 13:21:30 -07:00
json_test.go Add write buffer pooling 2018-08-22 14:11:59 -07:00
mask.go Update source to match output from gofmt 1.17 2021-12-17 22:48:51 -05:00
mask_safe.go Update source to match output from gofmt 1.17 2021-12-17 22:48:51 -05:00
mask_test.go miscellaneous cleanup 2018-08-24 14:03:26 -07:00
prepared.go Use empty struct to protect writing (#566) 2020-03-19 06:52:00 -07:00
prepared_test.go Add write buffer pooling 2018-08-22 14:11:59 -07:00
proxy.go Modify http Method String Literal to Variable (#728) 2021-12-19 11:21:45 -05:00
server.go Modify http Method String Literal to Variable (#728) 2021-12-19 11:21:45 -05:00
server_test.go Modify http Method String Literal to Variable (#728) 2021-12-19 11:21:45 -05:00
tls_handshake.go Use context.Context in TLS handshake (#751) 2022-01-01 08:43:22 -08:00
tls_handshake_116.go Use context.Context in TLS handshake (#751) 2022-01-01 08:43:22 -08:00
util.go Improve header parsing code 2018-10-06 11:35:33 -04:00
util_test.go Improve header parsing code 2018-10-06 11:35:33 -04:00
x_net_proxy.go Add SOCKS5 support 2017-11-30 17:43:01 -08:00

README.md

Gorilla WebSocket

GoDoc CircleCI

Gorilla WebSocket is a Go implementation of the WebSocket protocol.


⚠️ The Gorilla WebSocket Package is looking for a new maintainer


Documentation

Status

The Gorilla WebSocket package provides a complete and tested implementation of the WebSocket protocol. The package API is stable.

Installation

go get github.com/gorilla/websocket

Protocol Compliance

The Gorilla WebSocket package passes the server tests in the Autobahn Test Suite using the application in the examples/autobahn subdirectory.