Skip to content

Commit 2b08aec

Browse files
committed
Get rid of github.com/go-chi/render use
1 parent 8efd0bf commit 2b08aec

File tree

4 files changed

+36
-35
lines changed

4 files changed

+36
-35
lines changed

.golangci.yml

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
linters-settings:
22
govet:
3-
shadow: true
4-
golint:
5-
min-confidence: 0.6
3+
enable:
4+
- shadow
65
gocyclo:
76
min-complexity: 15
8-
maligned:
9-
suggest-new: true
107
dupl:
118
threshold: 100
129
goconst:
@@ -29,24 +26,24 @@ linters-settings:
2926
linters:
3027
disable-all: true
3128
enable:
32-
- revive
33-
- govet
34-
- unconvert
35-
- gosec
36-
- unparam
37-
- unused
38-
- typecheck
39-
- ineffassign
40-
- stylecheck
4129
- gochecknoinits
4230
- gocritic
43-
- nakedret
31+
- golint
32+
- gosec
4433
- gosimple
34+
- govet
35+
- ineffassign
36+
- nakedret
4537
- prealloc
38+
- revive
39+
- stylecheck
40+
- typecheck
41+
- unconvert
42+
- unparam
43+
- unused
4644

4745
fast: false
4846

49-
5047
run:
5148
concurrency: 4
5249

@@ -100,4 +97,3 @@ issues:
10097
path: _test\.go$
10198
text: "unused-parameter"
10299
exclude-use-default: false
103-

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
3+
go 1.23.0
44

55
require (
66
github.com/didip/tollbooth/v8 v8.0.1
77
github.com/go-chi/chi/v5 v5.2.0
8-
github.com/go-chi/render v1.0.3
9-
github.com/go-pkgz/rest v1.20.2
8+
github.com/go-pkgz/rest v1.20.3
109
github.com/stretchr/testify v1.10.0
1110
)
1211

1312
require (
14-
github.com/ajg/form v1.5.1 // indirect
1513
github.com/davecgh/go-spew v1.1.1 // indirect
1614
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.32.0 // indirect
20-
golang.org/x/sys v0.29.0 // indirect
17+
golang.org/x/crypto v0.36.0 // indirect
18+
golang.org/x/sys v0.31.0 // indirect
2119
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
2220
gopkg.in/yaml.v3 v3.0.1 // indirect
2321
)

go.sum

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
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/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
42
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
53
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
64
github.com/didip/tollbooth/v8 v8.0.1 h1:VAAapTo1t4Bn6bbpcHjuovwoa9u3JH++wgjbpWv+rB8=
75
github.com/didip/tollbooth/v8 v8.0.1/go.mod h1:oEd9l+ep373d7DmvKLc0a5gasPOev2mTewi6KPQBGJ4=
86
github.com/go-chi/chi/v5 v5.2.0 h1:Aj1EtB0qR2Rdo2dG4O94RIU35w2lvQSj6BRA4+qwFL0=
97
github.com/go-chi/chi/v5 v5.2.0/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
10-
github.com/go-chi/render v1.0.3 h1:AsXqd2a1/INaIfUSKq3G5uA8weYx20FOsM7uSoCyyt4=
11-
github.com/go-chi/render v1.0.3/go.mod h1:/gr3hVkmYR0YlEy3LxCuVRFzEu9Ruok+gFqbIofjao0=
128
github.com/go-pkgz/expirable-cache/v3 v3.0.0 h1:u3/gcu3sabLYiTCevoRKv+WzjIn5oo7P8XtiXBeRDLw=
139
github.com/go-pkgz/expirable-cache/v3 v3.0.0/go.mod h1:2OQiDyEGQalYecLWmXprm3maPXeVb5/6/X7yRPYTzec=
14-
github.com/go-pkgz/rest v1.20.2 h1:6wYWo85H7xFU09FadVKKc5LKIfIpCStBXJj9F/P4COc=
15-
github.com/go-pkgz/rest v1.20.2/go.mod h1:NC2xNN/y1rIs0PY13FowKoH8rk9RhJNJ0tTbkBg8Yks=
10+
github.com/go-pkgz/rest v1.20.3 h1:oGGfM8XTnvwek29q1OAhcI1nkKKOpurRFApBiYH44Fk=
11+
github.com/go-pkgz/rest v1.20.3/go.mod h1:NC2xNN/y1rIs0PY13FowKoH8rk9RhJNJ0tTbkBg8Yks=
1612
github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
1713
github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
1814
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
@@ -29,10 +25,10 @@ github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZV
2925
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
3026
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
3127
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
32-
golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
33-
golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
34-
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
35-
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
28+
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
29+
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
30+
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
31+
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
3632
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
3733
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
3834
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=

server.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import (
1212
"github.com/didip/tollbooth/v8/limiter"
1313
"github.com/go-chi/chi/v5"
1414
"github.com/go-chi/chi/v5/middleware"
15-
"github.com/go-chi/render"
1615
"github.com/go-pkgz/rest"
1716
"github.com/go-pkgz/rest/logger"
1817
)
@@ -203,7 +202,19 @@ func (s *Server) handler(w http.ResponseWriter, r *http.Request) {
203202
params = *req.Params
204203
}
205204

206-
render.JSON(w, r, fn(req.ID, params))
205+
s.writeJSON(w, http.StatusOK, fn(req.ID, params))
206+
}
207+
208+
// writeJSON writes v as JSON to the response with the given status code
209+
func (s *Server) writeJSON(w http.ResponseWriter, code int, v interface{}) {
210+
w.Header().Set("Content-Type", "application/json")
211+
w.WriteHeader(code)
212+
213+
encoder := json.NewEncoder(w)
214+
encoder.SetEscapeHTML(true) // mimic render's default behavior
215+
if err := encoder.Encode(v); err != nil {
216+
s.logger.Logf("[ERROR] failed to encode response: %v", err)
217+
}
207218
}
208219

209220
// basicAuth middleware. enabled only if both AuthUser and AuthPasswd defined.

0 commit comments

Comments
 (0)