Skip to content

Commit 9249030

Browse files
committed
Replace go-chi/chi with go-pkgz/routegroup, remove tollbooth dependency
1 parent 1b265f7 commit 9249030

File tree

11 files changed

+294
-178
lines changed

11 files changed

+294
-178
lines changed

.github/workflows/ci.yml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ jobs:
66
runs-on: ubuntu-latest
77

88
steps:
9-
- name: Set up Go 1.23
10-
uses: actions/setup-go@v2
9+
- name: Set up Go
10+
uses: actions/setup-go@v5
1111
with:
12-
go-version: "1.23"
12+
go-version: "1.24"
1313
id: go
1414

1515
- name: Check out code into the Go module directory
16-
uses: actions/checkout@v2
16+
uses: actions/checkout@v4
1717

1818
- name: Build & Test
1919
run: |
@@ -26,9 +26,7 @@ jobs:
2626
TZ: "America/Chicago"
2727

2828
- name: golangci-lint
29-
uses: golangci/golangci-lint-action@v3
30-
with:
31-
version: latest
29+
uses: golangci/golangci-lint-action@v7
3230

3331
- name: install goveralls
3432
run: |

.golangci.yml

Lines changed: 86 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,99 @@
1-
linters-settings:
2-
govet:
3-
enable:
4-
- shadow
5-
gocyclo:
6-
min-complexity: 15
7-
dupl:
8-
threshold: 100
9-
goconst:
10-
min-len: 2
11-
min-occurrences: 2
12-
misspell:
13-
locale: US
14-
lll:
15-
line-length: 140
16-
gocritic:
17-
enabled-tags:
18-
- performance
19-
- style
20-
- experimental
21-
disabled-checks:
22-
- wrapperFunc
23-
- hugeParam
24-
- rangeValCopy
25-
1+
version: "2"
2+
run:
3+
concurrency: 4
264
linters:
27-
disable-all: true
5+
default: none
286
enable:
297
- gochecknoinits
308
- gocritic
319
- gosec
32-
- gosimple
3310
- govet
3411
- ineffassign
3512
- nakedret
3613
- prealloc
3714
- revive
38-
- stylecheck
39-
- typecheck
15+
- staticcheck
4016
- unconvert
4117
- unparam
4218
- unused
43-
44-
fast: false
45-
46-
run:
47-
concurrency: 4
48-
49-
issues:
50-
exclude-dirs:
51-
- vendor
52-
exclude-rules:
53-
- text: "exitAfterDefer:"
54-
linters:
55-
- gocritic
56-
- text: "whyNoLint: include an explanation for nolint directive"
57-
linters:
58-
- gocritic
59-
- text: "go.mongodb.org/mongo-driver/bson/primitive.E"
60-
linters:
61-
- govet
62-
- text: "weak cryptographic primitive"
63-
linters:
64-
- gosec
65-
- text: "integer overflow conversion"
66-
linters:
67-
- gosec
68-
- text: "should have a package comment"
69-
linters:
70-
- revive
71-
- text: "at least one file in a package should have a package comment"
72-
linters:
73-
- stylecheck
74-
- text: "commentedOutCode: may want to remove commented-out code"
75-
linters:
76-
- gocritic
77-
- text: "unnamedResult: consider giving a name to these results"
78-
linters:
79-
- gocritic
80-
- text: "var-naming: don't use an underscore in package name"
81-
linters:
82-
- revive
83-
- text: "should not use underscores in package names"
84-
linters:
85-
- stylecheck
86-
- text: "struct literal uses unkeyed fields"
87-
linters:
88-
- govet
89-
- linters:
90-
- unparam
91-
- unused
92-
- revive
93-
path: _test\.go$
94-
text: "unused-parameter"
95-
exclude-use-default: false
19+
settings:
20+
dupl:
21+
threshold: 100
22+
goconst:
23+
min-len: 2
24+
min-occurrences: 2
25+
gocritic:
26+
disabled-checks:
27+
- wrapperFunc
28+
- hugeParam
29+
- rangeValCopy
30+
enabled-tags:
31+
- performance
32+
- style
33+
- experimental
34+
gocyclo:
35+
min-complexity: 15
36+
govet:
37+
enable:
38+
- shadow
39+
lll:
40+
line-length: 140
41+
misspell:
42+
locale: US
43+
exclusions:
44+
generated: lax
45+
rules:
46+
- linters:
47+
- gocritic
48+
text: 'exitAfterDefer:'
49+
- linters:
50+
- gocritic
51+
text: 'whyNoLint: include an explanation for nolint directive'
52+
- linters:
53+
- govet
54+
text: go.mongodb.org/mongo-driver/bson/primitive.E
55+
- linters:
56+
- gosec
57+
text: weak cryptographic primitive
58+
- linters:
59+
- gosec
60+
text: integer overflow conversion
61+
- linters:
62+
- revive
63+
text: should have a package comment
64+
- linters:
65+
- staticcheck
66+
text: at least one file in a package should have a package comment
67+
- linters:
68+
- gocritic
69+
text: 'commentedOutCode: may want to remove commented-out code'
70+
- linters:
71+
- gocritic
72+
text: 'unnamedResult: consider giving a name to these results'
73+
- linters:
74+
- revive
75+
text: 'var-naming: don''t use an underscore in package name'
76+
- linters:
77+
- staticcheck
78+
text: should not use underscores in package names
79+
- linters:
80+
- govet
81+
text: struct literal uses unkeyed fields
82+
- linters:
83+
- revive
84+
- unparam
85+
- unused
86+
path: _test\.go$
87+
text: unused-parameter
88+
paths:
89+
- vendor
90+
- third_party$
91+
- builtin$
92+
- examples$
93+
formatters:
94+
exclusions:
95+
generated: lax
96+
paths:
97+
- third_party$
98+
- builtin$
99+
- examples$

_example/application/go.mod

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
11
module github.com/go-pkgz/jrpc/_example/application
22

3-
go 1.23
3+
go 1.24.0
44

55
replace github.com/go-pkgz/jrpc => ../../
66

77
require github.com/go-pkgz/jrpc v0.0.0-00010101000000-000000000000
88

99
require (
10-
github.com/ajg/form v1.5.1 // indirect
11-
github.com/didip/tollbooth/v8 v8.0.1 // indirect
12-
github.com/go-chi/chi/v5 v5.2.0 // indirect
13-
github.com/go-chi/render v1.0.3 // indirect
14-
github.com/go-pkgz/expirable-cache/v3 v3.0.0 // indirect
15-
github.com/go-pkgz/rest v1.20.2 // indirect
16-
golang.org/x/crypto v0.32.0 // indirect
17-
golang.org/x/sys v0.29.0 // indirect
10+
github.com/go-pkgz/rest v1.20.3 // indirect
11+
github.com/go-pkgz/routegroup v1.6.0 // indirect
12+
golang.org/x/crypto v0.45.0 // indirect
13+
golang.org/x/sys v0.38.0 // indirect
1814
)

_example/application/go.sum

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,16 @@
1-
github.com/ajg/form v1.5.1 h1:t9c7v8JUKu/XxOGBU0yjNpaMloxGEJhUkqFRq0ibGeU=
2-
github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY=
31
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
42
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
5-
github.com/didip/tollbooth/v8 v8.0.1 h1:VAAapTo1t4Bn6bbpcHjuovwoa9u3JH++wgjbpWv+rB8=
6-
github.com/didip/tollbooth/v8 v8.0.1/go.mod h1:oEd9l+ep373d7DmvKLc0a5gasPOev2mTewi6KPQBGJ4=
7-
github.com/go-chi/chi/v5 v5.2.0 h1:Aj1EtB0qR2Rdo2dG4O94RIU35w2lvQSj6BRA4+qwFL0=
8-
github.com/go-chi/chi/v5 v5.2.0/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
9-
github.com/go-chi/render v1.0.3 h1:AsXqd2a1/INaIfUSKq3G5uA8weYx20FOsM7uSoCyyt4=
10-
github.com/go-chi/render v1.0.3/go.mod h1:/gr3hVkmYR0YlEy3LxCuVRFzEu9Ruok+gFqbIofjao0=
11-
github.com/go-pkgz/expirable-cache/v3 v3.0.0 h1:u3/gcu3sabLYiTCevoRKv+WzjIn5oo7P8XtiXBeRDLw=
12-
github.com/go-pkgz/expirable-cache/v3 v3.0.0/go.mod h1:2OQiDyEGQalYecLWmXprm3maPXeVb5/6/X7yRPYTzec=
13-
github.com/go-pkgz/rest v1.20.2 h1:6wYWo85H7xFU09FadVKKc5LKIfIpCStBXJj9F/P4COc=
14-
github.com/go-pkgz/rest v1.20.2/go.mod h1:NC2xNN/y1rIs0PY13FowKoH8rk9RhJNJ0tTbkBg8Yks=
15-
github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
16-
github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
3+
github.com/go-pkgz/rest v1.20.3 h1:oGGfM8XTnvwek29q1OAhcI1nkKKOpurRFApBiYH44Fk=
4+
github.com/go-pkgz/rest v1.20.3/go.mod h1:NC2xNN/y1rIs0PY13FowKoH8rk9RhJNJ0tTbkBg8Yks=
5+
github.com/go-pkgz/routegroup v1.6.0 h1:44XHZgF6JIIldRlv+zjg6SygULASmjifnfIQjwCT0e4=
6+
github.com/go-pkgz/routegroup v1.6.0/go.mod h1:Pmu04fhgWhRtBMIJ8HXppnnzOPjnL/IEPBIdO2zmeqg=
177
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
188
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
199
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
2010
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
21-
golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
22-
golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
23-
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
24-
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
11+
golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
12+
golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
13+
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
14+
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
2515
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
2616
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

_example/plugin/go.mod

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
11
module github.com/go-pkgz/jrpc/_example/plugin
22

3-
go 1.23
3+
go 1.24.0
44

55
replace github.com/go-pkgz/jrpc => ../../
66

77
require github.com/go-pkgz/jrpc v0.0.0-00010101000000-000000000000
88

99
require (
10-
github.com/ajg/form v1.5.1 // indirect
11-
github.com/didip/tollbooth/v8 v8.0.1 // indirect
12-
github.com/go-chi/chi/v5 v5.2.0 // indirect
13-
github.com/go-chi/render v1.0.3 // indirect
14-
github.com/go-pkgz/expirable-cache/v3 v3.0.0 // indirect
15-
github.com/go-pkgz/rest v1.20.2 // indirect
16-
golang.org/x/crypto v0.32.0 // indirect
17-
golang.org/x/sys v0.29.0 // indirect
10+
github.com/go-pkgz/rest v1.20.3 // indirect
11+
github.com/go-pkgz/routegroup v1.6.0 // indirect
12+
golang.org/x/crypto v0.45.0 // indirect
13+
golang.org/x/sys v0.38.0 // indirect
1814
)

_example/plugin/go.sum

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,16 @@
1-
github.com/ajg/form v1.5.1 h1:t9c7v8JUKu/XxOGBU0yjNpaMloxGEJhUkqFRq0ibGeU=
2-
github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY=
31
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
42
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
5-
github.com/didip/tollbooth/v8 v8.0.1 h1:VAAapTo1t4Bn6bbpcHjuovwoa9u3JH++wgjbpWv+rB8=
6-
github.com/didip/tollbooth/v8 v8.0.1/go.mod h1:oEd9l+ep373d7DmvKLc0a5gasPOev2mTewi6KPQBGJ4=
7-
github.com/go-chi/chi/v5 v5.2.0 h1:Aj1EtB0qR2Rdo2dG4O94RIU35w2lvQSj6BRA4+qwFL0=
8-
github.com/go-chi/chi/v5 v5.2.0/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
9-
github.com/go-chi/render v1.0.3 h1:AsXqd2a1/INaIfUSKq3G5uA8weYx20FOsM7uSoCyyt4=
10-
github.com/go-chi/render v1.0.3/go.mod h1:/gr3hVkmYR0YlEy3LxCuVRFzEu9Ruok+gFqbIofjao0=
11-
github.com/go-pkgz/expirable-cache/v3 v3.0.0 h1:u3/gcu3sabLYiTCevoRKv+WzjIn5oo7P8XtiXBeRDLw=
12-
github.com/go-pkgz/expirable-cache/v3 v3.0.0/go.mod h1:2OQiDyEGQalYecLWmXprm3maPXeVb5/6/X7yRPYTzec=
13-
github.com/go-pkgz/rest v1.20.2 h1:6wYWo85H7xFU09FadVKKc5LKIfIpCStBXJj9F/P4COc=
14-
github.com/go-pkgz/rest v1.20.2/go.mod h1:NC2xNN/y1rIs0PY13FowKoH8rk9RhJNJ0tTbkBg8Yks=
15-
github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
16-
github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
3+
github.com/go-pkgz/rest v1.20.3 h1:oGGfM8XTnvwek29q1OAhcI1nkKKOpurRFApBiYH44Fk=
4+
github.com/go-pkgz/rest v1.20.3/go.mod h1:NC2xNN/y1rIs0PY13FowKoH8rk9RhJNJ0tTbkBg8Yks=
5+
github.com/go-pkgz/routegroup v1.6.0 h1:44XHZgF6JIIldRlv+zjg6SygULASmjifnfIQjwCT0e4=
6+
github.com/go-pkgz/routegroup v1.6.0/go.mod h1:Pmu04fhgWhRtBMIJ8HXppnnzOPjnL/IEPBIdO2zmeqg=
177
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
188
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
199
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
2010
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
21-
golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
22-
golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
23-
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
24-
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
11+
golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
12+
golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
13+
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
14+
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
2515
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
2616
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

_example/plugin/main.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,18 @@ type jrpcServer struct {
3131
func main() {
3232

3333
// optional logger implementing a single func interface
34-
// Logf(format string, args ...interface{})
34+
// logf(format string, args ...interface{})
3535
logger := jrpc.LoggerFunc(func(format string, args ...interface{}) {
3636
log.Printf(format, args...)
3737
})
3838

3939
// create rpcServer
4040
rpcServer := jrpcServer{
4141
Server: jrpc.NewServer(
42-
"/command", // base url for rpc calls
42+
"/command", // base url for rpc calls
4343
jrpc.Auth("user", "password"), // basic auth user name and password
4444
jrpc.WithSignature("jrpc-example", "umputun", "0.1.0"), // plugin name for headers
45-
jrpc.WithLogger(logger), // define logger
45+
jrpc.WithLogger(logger), // define logger
4646
),
4747
data: map[string]dataRecord{},
4848
}

go.mod

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
11
module github.com/go-pkgz/jrpc
22

3-
go 1.23.0
3+
go 1.24.0
44

55
toolchain go1.24.2
66

77
require (
8-
github.com/didip/tollbooth/v8 v8.0.1
9-
github.com/go-chi/chi/v5 v5.2.1
108
github.com/go-pkgz/rest v1.20.3
9+
github.com/go-pkgz/routegroup v1.6.0
1110
github.com/stretchr/testify v1.10.0
1211
)
1312

1413
require (
1514
github.com/davecgh/go-spew v1.1.1 // indirect
16-
github.com/go-pkgz/expirable-cache/v3 v3.0.0 // indirect
1715
github.com/kr/pretty v0.3.1 // indirect
1816
github.com/pmezard/go-difflib v1.0.0 // indirect
19-
golang.org/x/crypto v0.36.0 // indirect
20-
golang.org/x/sys v0.31.0 // indirect
17+
golang.org/x/crypto v0.45.0 // indirect
18+
golang.org/x/sys v0.38.0 // indirect
2119
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
2220
gopkg.in/yaml.v3 v3.0.1 // indirect
2321
)

0 commit comments

Comments
 (0)