Skip to content

Commit 2598ea2

Browse files
committed
Remove third party dependencies from go.mod and go.sum
Closes #297
1 parent 5793e7d commit 2598ea2

28 files changed

+406
-275
lines changed

Diff for: README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ go get nhooyr.io/websocket
3939
## Examples
4040

4141
For a production quality example that demonstrates the complete API, see the
42-
[echo example](./examples/echo).
42+
[echo example](./internal/examples/echo).
4343

44-
For a full stack example, see the [chat example](./examples/chat).
44+
For a full stack example, see the [chat example](./internal/examples/chat).
4545

4646
### Server
4747

Diff for: ci/lint.sh

+23
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,26 @@ GOOS=js GOARCH=wasm golint -set_exit_status ./...
1212
go install honnef.co/go/tools/cmd/staticcheck@latest
1313
staticcheck ./...
1414
GOOS=js GOARCH=wasm staticcheck ./...
15+
16+
govulncheck() {
17+
tmpf=$(mktemp)
18+
if ! command govulncheck "$@" >"$tmpf" 2>&1; then
19+
cat "$tmpf"
20+
fi
21+
}
22+
go install golang.org/x/vuln/cmd/govulncheck@latest
23+
govulncheck ./...
24+
GOOS=js GOARCH=wasm govulncheck ./...
25+
26+
(
27+
cd ./internal/examples
28+
go vet ./...
29+
staticcheck ./...
30+
govulncheck ./...
31+
)
32+
(
33+
cd ./internal/thirdparty
34+
go vet ./...
35+
staticcheck ./...
36+
govulncheck ./...
37+
)

Diff for: ci/test.sh

+9
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,12 @@ sed -i.bak '/examples/d' ci/out/coverage.prof
1212
go tool cover -func ci/out/coverage.prof | tail -n1
1313

1414
go tool cover -html=ci/out/coverage.prof -o=ci/out/coverage.html
15+
16+
(
17+
cd ./internal/examples
18+
go test "$@" ./...
19+
)
20+
(
21+
cd ./internal/thirdparty
22+
go test "$@" ./...
23+
)

Diff for: conn_test.go

+4-38
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
//go:build !js
2-
// +build !js
32

43
package websocket_test
54

65
import (
76
"bytes"
87
"context"
8+
"errors"
99
"fmt"
1010
"io"
1111
"net/http"
@@ -16,8 +16,6 @@ import (
1616
"testing"
1717
"time"
1818

19-
"github.com/gin-gonic/gin"
20-
2119
"nhooyr.io/websocket"
2220
"nhooyr.io/websocket/internal/errd"
2321
"nhooyr.io/websocket/internal/test/assert"
@@ -140,7 +138,9 @@ func TestConn(t *testing.T) {
140138
defer cancel()
141139

142140
err = c1.Write(ctx, websocket.MessageText, []byte("x"))
143-
assert.Equal(t, "write error", context.DeadlineExceeded, err)
141+
if !errors.Is(err, context.DeadlineExceeded) {
142+
t.Fatalf("unexpected error: %#v", err)
143+
}
144144
})
145145

146146
t.Run("netConn", func(t *testing.T) {
@@ -482,37 +482,3 @@ func echoServer(w http.ResponseWriter, r *http.Request, opts *websocket.AcceptOp
482482
err = wstest.EchoLoop(r.Context(), c)
483483
return assertCloseStatus(websocket.StatusNormalClosure, err)
484484
}
485-
486-
func TestGin(t *testing.T) {
487-
t.Parallel()
488-
489-
gin.SetMode(gin.ReleaseMode)
490-
r := gin.New()
491-
r.GET("/", func(ginCtx *gin.Context) {
492-
err := echoServer(ginCtx.Writer, ginCtx.Request, nil)
493-
if err != nil {
494-
t.Error(err)
495-
}
496-
})
497-
498-
s := httptest.NewServer(r)
499-
defer s.Close()
500-
501-
ctx, cancel := context.WithTimeout(context.Background(), time.Second*30)
502-
defer cancel()
503-
504-
c, _, err := websocket.Dial(ctx, s.URL, nil)
505-
assert.Success(t, err)
506-
defer c.Close(websocket.StatusInternalError, "")
507-
508-
err = wsjson.Write(ctx, c, "hello")
509-
assert.Success(t, err)
510-
511-
var v interface{}
512-
err = wsjson.Read(ctx, c, &v)
513-
assert.Success(t, err)
514-
assert.Equal(t, "read msg", "hello", v)
515-
516-
err = c.Close(websocket.StatusNormalClosure, "")
517-
assert.Success(t, err)
518-
}

Diff for: frame_test.go

-88
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,6 @@ import (
1212
"strconv"
1313
"testing"
1414
"time"
15-
_ "unsafe"
16-
17-
"github.com/gobwas/ws"
18-
_ "github.com/gorilla/websocket"
1915

2016
"nhooyr.io/websocket/internal/test/assert"
2117
)
@@ -109,87 +105,3 @@ func Test_mask(t *testing.T) {
109105
expKey32 := bits.RotateLeft32(key32, -8)
110106
assert.Equal(t, "key32", expKey32, gotKey32)
111107
}
112-
113-
func basicMask(maskKey [4]byte, pos int, b []byte) int {
114-
for i := range b {
115-
b[i] ^= maskKey[pos&3]
116-
pos++
117-
}
118-
return pos & 3
119-
}
120-
121-
//go:linkname gorillaMaskBytes github.com/gorilla/websocket.maskBytes
122-
func gorillaMaskBytes(key [4]byte, pos int, b []byte) int
123-
124-
func Benchmark_mask(b *testing.B) {
125-
sizes := []int{
126-
2,
127-
3,
128-
4,
129-
8,
130-
16,
131-
32,
132-
128,
133-
512,
134-
4096,
135-
16384,
136-
}
137-
138-
fns := []struct {
139-
name string
140-
fn func(b *testing.B, key [4]byte, p []byte)
141-
}{
142-
{
143-
name: "basic",
144-
fn: func(b *testing.B, key [4]byte, p []byte) {
145-
for i := 0; i < b.N; i++ {
146-
basicMask(key, 0, p)
147-
}
148-
},
149-
},
150-
151-
{
152-
name: "nhooyr",
153-
fn: func(b *testing.B, key [4]byte, p []byte) {
154-
key32 := binary.LittleEndian.Uint32(key[:])
155-
b.ResetTimer()
156-
157-
for i := 0; i < b.N; i++ {
158-
mask(key32, p)
159-
}
160-
},
161-
},
162-
{
163-
name: "gorilla",
164-
fn: func(b *testing.B, key [4]byte, p []byte) {
165-
for i := 0; i < b.N; i++ {
166-
gorillaMaskBytes(key, 0, p)
167-
}
168-
},
169-
},
170-
{
171-
name: "gobwas",
172-
fn: func(b *testing.B, key [4]byte, p []byte) {
173-
for i := 0; i < b.N; i++ {
174-
ws.Cipher(p, key, 0)
175-
}
176-
},
177-
},
178-
}
179-
180-
key := [4]byte{1, 2, 3, 4}
181-
182-
for _, size := range sizes {
183-
p := make([]byte, size)
184-
185-
b.Run(strconv.Itoa(size), func(b *testing.B) {
186-
for _, fn := range fns {
187-
b.Run(fn.name, func(b *testing.B) {
188-
b.SetBytes(int64(size))
189-
190-
fn.fn(b, key, p)
191-
})
192-
}
193-
})
194-
}
195-
}

Diff for: go.mod

-37
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,3 @@
11
module nhooyr.io/websocket
22

33
go 1.19
4-
5-
require (
6-
github.com/gin-gonic/gin v1.9.1
7-
github.com/gobwas/ws v1.3.0
8-
github.com/google/go-cmp v0.5.9
9-
github.com/gorilla/websocket v1.5.0
10-
golang.org/x/time v0.3.0
11-
)
12-
13-
require (
14-
github.com/bytedance/sonic v1.9.1 // indirect
15-
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect
16-
github.com/gabriel-vasile/mimetype v1.4.2 // indirect
17-
github.com/gin-contrib/sse v0.1.0 // indirect
18-
github.com/go-playground/locales v0.14.1 // indirect
19-
github.com/go-playground/universal-translator v0.18.1 // indirect
20-
github.com/go-playground/validator/v10 v10.14.0 // indirect
21-
github.com/gobwas/httphead v0.1.0 // indirect
22-
github.com/gobwas/pool v0.2.1 // indirect
23-
github.com/goccy/go-json v0.10.2 // indirect
24-
github.com/json-iterator/go v1.1.12 // indirect
25-
github.com/klauspost/cpuid/v2 v2.2.4 // indirect
26-
github.com/leodido/go-urn v1.2.4 // indirect
27-
github.com/mattn/go-isatty v0.0.19 // indirect
28-
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
29-
github.com/modern-go/reflect2 v1.0.2 // indirect
30-
github.com/pelletier/go-toml/v2 v2.0.8 // indirect
31-
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
32-
github.com/ugorji/go/codec v1.2.11 // indirect
33-
golang.org/x/arch v0.3.0 // indirect
34-
golang.org/x/crypto v0.9.0 // indirect
35-
golang.org/x/net v0.10.0 // indirect
36-
golang.org/x/sys v0.8.0 // indirect
37-
golang.org/x/text v0.9.0 // indirect
38-
google.golang.org/protobuf v1.30.0 // indirect
39-
gopkg.in/yaml.v3 v3.0.1 // indirect
40-
)

Diff for: go.sum

-95
Original file line numberDiff line numberDiff line change
@@ -1,95 +0,0 @@
1-
github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM=
2-
github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s=
3-
github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U=
4-
github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY=
5-
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 h1:qSGYFH7+jGhDF8vLC+iwCD4WpbV1EBDSzWkJODFLams=
6-
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk=
7-
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
8-
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
9-
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
10-
github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU=
11-
github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA=
12-
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
13-
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
14-
github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg=
15-
github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU=
16-
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
17-
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
18-
github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
19-
github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
20-
github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
21-
github.com/go-playground/validator/v10 v10.14.0 h1:vgvQWe3XCz3gIeFDm/HnTIbj6UGmg/+t63MyGU2n5js=
22-
github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU=
23-
github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU=
24-
github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM=
25-
github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og=
26-
github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
27-
github.com/gobwas/ws v1.3.0 h1:sbeU3Y4Qzlb+MOzIe6mQGf7QR4Hkv6ZD0qhGkBFL2O0=
28-
github.com/gobwas/ws v1.3.0/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY=
29-
github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
30-
github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
31-
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
32-
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
33-
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
34-
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
35-
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
36-
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
37-
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
38-
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
39-
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
40-
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
41-
github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk=
42-
github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
43-
github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q=
44-
github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4=
45-
github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
46-
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
47-
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
48-
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
49-
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
50-
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
51-
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
52-
github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ=
53-
github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4=
54-
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
55-
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
56-
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
57-
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
58-
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
59-
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
60-
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
61-
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
62-
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
63-
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
64-
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
65-
github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY=
66-
github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
67-
github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
68-
github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
69-
github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU=
70-
github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
71-
golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
72-
golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k=
73-
golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
74-
golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g=
75-
golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
76-
golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
77-
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
78-
golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
79-
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
80-
golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU=
81-
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
82-
golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
83-
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
84-
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
85-
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
86-
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
87-
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
88-
google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng=
89-
google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
90-
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
91-
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
92-
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
93-
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
94-
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
95-
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

Diff for: internal/examples/go.mod

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
module nhooyr.io/websocket/examples
2+
3+
go 1.22
4+
5+
replace nhooyr.io/websocket => ../..
6+
7+
require (
8+
github.com/klauspost/compress v1.10.3 // indirect
9+
golang.org/x/time v0.3.0 // indirect
10+
nhooyr.io/websocket v1.8.7 // indirect
11+
)

0 commit comments

Comments
 (0)