A fast, well-tested and widely used WebSocket implementation for Go.
Go to file
Canelo Hill 8915bad18b Improve bufio handling in Upgrader.Upgrade
Use Reader.Size() (add in Go 1.10) to get the bufio.Reader's size
instead of examining the return value from Reader.Peek.

Use Writer.AvailableBuffer() (added in Go 1.18) to get the
bufio.Writer's buffer instead of observing the buffer in the underlying
writer.

Allow client to send data before the handshake is complete. Previously,
Upgrader.Upgrade rudely closed the connection.
2024-07-01 13:41:19 +10: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 bufio handling in Upgrader.Upgrade 2024-07-01 13:41:19 +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 Use crypto/rand for mask key 2024-07-01 13:40:25 +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 Use crypto/rand for mask key 2024-07-01 13:40:25 +10:00
proxy.go Unbundle x/net/proxy and update to recent version 2024-06-19 20:11:25 -04:00
server.go Improve bufio handling in Upgrader.Upgrade 2024-07-01 13:41:19 +10:00
server_test.go Improve bufio handling in Upgrader.Upgrade 2024-07-01 13:41:19 +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.