A fast, well-tested and widely used WebSocket implementation for Go.
Go to file
Canelo Hill 1d5465562b Unbundle x/net/proxy and update to recent version
Import golang.org/x/net/proxy instead of using the bundle in
x_net_proxy.go. There's no need to avoid the dependency on
golang.org/x/net/proxy now that Go's module system is in widespread use.

Change Dialer.DialContext to pass contexts as an argument to the dial
function instead of tunneling the context through closures. Tunneling is
no longer needed because the proxy package supports contexts. The
version of the proxy package in the bundle predates contexts!

Simplify the code for calculating the base dial function.

Prevent the HTTP proxy dialer from leaking out of the websocket package
by selecting the HTTP proxy dialer directly in the websocket package.
Previously, the HTTP dialer was registered with the proxy package.
2024-06-19 20:11:25 -04:00
.circleci Set min Go version to 1.20 (#930) 2024-06-19 14:40:57 +10:00
.github Reverts to v1.5.0 2024-06-13 23:18:03 -04:00
examples Update README.md, replace master to main 2024-06-19 17:13:16 +10:00
.gitignore Reverts to v1.5.0 2024-06-13 23:18:03 -04:00
AUTHORS Reverts to v1.5.0 2024-06-13 23:18:03 -04:00
LICENSE Reverts to v1.5.0 2024-06-13 23:18:03 -04:00
README.md Update README.md, replace master to main 2024-06-19 17:13:16 +10:00
client.go Unbundle x/net/proxy and update to recent version 2024-06-19 20:11:25 -04:00
client_server_test.go Improve client/server tests 2024-06-19 17:11:11 +10:00
client_test.go Reverts to v1.5.0 2024-06-13 23:18:03 -04:00
compression.go Revert " Update go version & add verification/testing tools (#840)" 2024-05-01 18:51:54 +05:30
compression_test.go Update for deprecated ioutil package (#931) 2024-06-19 14:44:41 +10:00
conn.go Update for deprecated ioutil package (#931) 2024-06-19 14:44:41 +10:00
conn_broadcast_test.go Update for deprecated ioutil package (#931) 2024-06-19 14:44:41 +10:00
conn_test.go Update for deprecated ioutil package (#931) 2024-06-19 14:44:41 +10:00
doc.go docs: Fix typo. (#568) 2020-03-19 10:45:00 -07:00
example_test.go Reverts to v1.5.0 2024-06-13 23:18:03 -04:00
go.mod Unbundle x/net/proxy and update to recent version 2024-06-19 20:11:25 -04:00
go.sum Unbundle x/net/proxy and update to recent version 2024-06-19 20:11:25 -04:00
join.go Add JoinMessages 2019-02-04 16:42:47 -08:00
join_test.go Reverts to v1.5.0 2024-06-13 23:18:03 -04:00
json.go Misc cleanup 2017-07-18 13:21:30 -07:00
json_test.go Reverts to v1.5.0 2024-06-13 23:18:03 -04:00
mask.go Revert " Update go version & add verification/testing tools (#840)" 2024-05-01 18:51:54 +05:30
mask_safe.go Update source to match output from gofmt 1.17 2021-12-17 22:48:51 -05:00
mask_test.go Reverts to v1.5.0 2024-06-13 23:18:03 -04:00
prepared.go Use empty struct to protect writing (#566) 2020-03-19 06:52:00 -07:00
prepared_test.go Reverts to v1.5.0 2024-06-13 23:18:03 -04:00
proxy.go Unbundle x/net/proxy and update to recent version 2024-06-19 20:11:25 -04:00
server.go Fixes subprotocol selection (aling with rfc6455) 2024-06-19 17:13:42 +10:00
server_test.go Added tests for subprotocol selection 2024-06-19 17:13:42 +10:00
tls_handshake.go Reverts to v1.5.0 2024-06-13 23:18:03 -04:00
tls_handshake_116.go Revert " Update go version & add verification/testing tools (#840)" 2024-05-01 18:51:54 +05:30
util.go Revert " Update go version & add verification/testing tools (#840)" 2024-05-01 18:51:54 +05:30
util_test.go Reverts to v1.5.0 2024-06-13 23:18:03 -04:00

README.md

Gorilla WebSocket

GoDoc CircleCI

Gorilla WebSocket is a Go implementation of the WebSocket protocol.

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.