@@ -6,7 +6,6 @@ package server
6
6
import (
7
7
"context"
8
8
"crypto/tls"
9
- "encoding/json"
10
9
"fmt"
11
10
"net/http"
12
11
"net/http/pprof"
@@ -18,7 +17,7 @@ import (
18
17
yaml2 "github.com/ghodss/yaml"
19
18
"github.com/gin-gonic/gin"
20
19
"github.com/go-logr/logr"
21
- jsoniter "github.com/json-iterator /go"
20
+ "github.com/goccy /go-json "
22
21
"github.com/prometheus/client_golang/prometheus"
23
22
"github.com/prometheus/client_golang/prometheus/promauto"
24
23
"github.com/prometheus/client_golang/prometheus/promhttp"
38
37
}, []string {"path" })
39
38
)
40
39
41
- var (
42
- jsonConfig = jsoniter.Config {
43
- EscapeHTML : false ,
44
- MarshalFloatWith6Digits : true ,
45
- ObjectFieldMustBeSimpleString : true ,
46
- }.Froze ()
47
- )
48
-
49
40
type collectorJSON struct {
50
41
Link string `json:"_link"`
51
42
Jobs []* targetJSON `json:"targets"`
@@ -61,11 +52,10 @@ type targetJSON struct {
61
52
}
62
53
63
54
type Server struct {
64
- logger logr.Logger
65
- allocator allocation.Allocator
66
- server * http.Server
67
- httpsServer * http.Server
68
- jsonMarshaller jsoniter.API
55
+ logger logr.Logger
56
+ allocator allocation.Allocator
57
+ server * http.Server
58
+ httpsServer * http.Server
69
59
70
60
// Use RWMutex to protect scrapeConfigResponse, since it
71
61
// will be predominantly read and only written when config
@@ -105,9 +95,8 @@ func (s *Server) setRouter(router *gin.Engine) {
105
95
106
96
func NewServer (log logr.Logger , allocator allocation.Allocator , listenAddr string , options ... Option ) * Server {
107
97
s := & Server {
108
- logger : log ,
109
- allocator : allocator ,
110
- jsonMarshaller : jsonConfig ,
98
+ logger : log ,
99
+ allocator : allocator ,
111
100
}
112
101
113
102
gin .SetMode (gin .ReleaseMode )
@@ -312,7 +301,7 @@ func (s *Server) errorHandler(w http.ResponseWriter, err error) {
312
301
313
302
func (s * Server ) jsonHandler (w http.ResponseWriter , data interface {}) {
314
303
w .Header ().Set ("Content-Type" , "application/json" )
315
- err := s . jsonMarshaller .NewEncoder (w ).Encode (data )
304
+ err := json .NewEncoder (w ).Encode (data )
316
305
if err != nil {
317
306
s .logger .Error (err , "failed to encode data for http response" )
318
307
}
0 commit comments