Upgrade to v3.1.0, remove dependency on observer-cmd-utils
This commit is contained in:
parent
03b35baacc
commit
32fd3e4311
57
api.go
57
api.go
|
@ -8,7 +8,6 @@ import (
|
|||
p2pooltypes "git.gammaspectra.live/P2Pool/consensus/v3/p2pool/types"
|
||||
"git.gammaspectra.live/P2Pool/consensus/v3/types"
|
||||
"git.gammaspectra.live/P2Pool/consensus/v3/utils"
|
||||
cmdutils "git.gammaspectra.live/P2Pool/observer-cmd-utils/httputils"
|
||||
"github.com/gorilla/mux"
|
||||
"io"
|
||||
"math"
|
||||
|
@ -47,7 +46,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
}
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
})
|
||||
|
||||
serveMux.HandleFunc("/server/connection_check/{addrPort:.+}", func(writer http.ResponseWriter, request *http.Request) {
|
||||
|
@ -146,7 +145,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, info)
|
||||
_ = EncodeJson(request, writer, info)
|
||||
})
|
||||
|
||||
serveMux.HandleFunc("/server/peerlist", func(writer http.ResponseWriter, request *http.Request) {
|
||||
|
@ -171,7 +170,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
})
|
||||
|
||||
// ================================= MainChain section =================================
|
||||
|
@ -184,7 +183,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
}
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
|
@ -197,7 +196,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
result := instance.GetDifficultyByHeight(height)
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
|
@ -213,7 +212,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
}
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
|
@ -229,7 +228,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
}
|
||||
})
|
||||
serveMux.HandleFunc("/mainchain/tip", func(writer http.ResponseWriter, request *http.Request) {
|
||||
|
@ -246,7 +245,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
}
|
||||
})
|
||||
|
||||
|
@ -254,7 +253,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
serveMux.HandleFunc("/sidechain/consensus", func(writer http.ResponseWriter, request *http.Request) {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, instance.Consensus())
|
||||
_ = EncodeJson(request, writer, instance.Consensus())
|
||||
})
|
||||
|
||||
serveMux.HandleFunc("/sidechain/blocks_by_height/{height:[0-9]+}", func(writer http.ResponseWriter, request *http.Request) {
|
||||
|
@ -275,7 +274,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
}
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
|
@ -295,7 +294,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
}
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
|
@ -341,7 +340,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
}
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
|
@ -387,7 +386,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
}
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
|
@ -434,7 +433,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
}
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
|
@ -458,7 +457,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
}
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
})
|
||||
serveMux.HandleFunc("/sidechain/status", func(writer http.ResponseWriter, request *http.Request) {
|
||||
result := p2pooltypes.P2PoolSideChainStatusResult{
|
||||
|
@ -475,7 +474,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
}
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
})
|
||||
|
||||
preAllocatedSharesPool := sidechain.NewPreAllocatedSharesPool(instance.Consensus().ChainWindowSize * 2)
|
||||
|
@ -583,7 +582,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
if topError == nil {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
@ -669,7 +668,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
}
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
|
@ -699,7 +698,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
}
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
|
@ -712,14 +711,14 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
if blocks := archiveCache.LoadByMainChainHeight(height); len(blocks) > 0 {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, blocks)
|
||||
_ = EncodeJson(request, writer, blocks)
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusNotFound)
|
||||
if blocks == nil {
|
||||
blocks = make(sidechain.UniquePoolBlockSlice, 0)
|
||||
}
|
||||
_ = cmdutils.EncodeJson(request, writer, blocks)
|
||||
_ = EncodeJson(request, writer, blocks)
|
||||
}
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
|
@ -733,14 +732,14 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
if blocks := archiveCache.LoadBySideChainHeight(height); len(blocks) > 0 {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, blocks)
|
||||
_ = EncodeJson(request, writer, blocks)
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusNotFound)
|
||||
if blocks == nil {
|
||||
blocks = make(sidechain.UniquePoolBlockSlice, 0)
|
||||
}
|
||||
_ = cmdutils.EncodeJson(request, writer, blocks)
|
||||
_ = EncodeJson(request, writer, blocks)
|
||||
}
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
|
@ -754,14 +753,14 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
if blocks := archiveCache.LoadByTemplateId(mainId); len(blocks) > 0 {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, blocks)
|
||||
_ = EncodeJson(request, writer, blocks)
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusNotFound)
|
||||
if blocks == nil {
|
||||
blocks = make(sidechain.UniquePoolBlockSlice, 0)
|
||||
}
|
||||
_ = cmdutils.EncodeJson(request, writer, blocks)
|
||||
_ = EncodeJson(request, writer, blocks)
|
||||
}
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
|
@ -797,7 +796,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
if b != nil {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, b)
|
||||
_ = EncodeJson(request, writer, b)
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusNotFound)
|
||||
|
@ -849,7 +848,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
}
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
|
@ -879,7 +878,7 @@ func getServerMux(instance *P2Pool) *mux.Router {
|
|||
}
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
_ = cmdutils.EncodeJson(request, writer, result)
|
||||
_ = EncodeJson(request, writer, result)
|
||||
} else {
|
||||
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
|
|
14
go.mod
14
go.mod
|
@ -3,14 +3,13 @@ module git.gammaspectra.live/P2Pool/go-p2pool/v3
|
|||
go 1.22
|
||||
|
||||
require (
|
||||
git.gammaspectra.live/P2Pool/consensus/v3 v3.0.2
|
||||
git.gammaspectra.live/P2Pool/consensus/v3 v3.1.0
|
||||
git.gammaspectra.live/P2Pool/observer-cache-archive v0.0.0-20240403175902-82f1b2cbe6d9
|
||||
git.gammaspectra.live/P2Pool/observer-cmd-utils v0.0.0-20240403175747-82cff4d3bd01
|
||||
github.com/gorilla/mux v1.8.1
|
||||
)
|
||||
|
||||
require (
|
||||
git.gammaspectra.live/P2Pool/edwards25519 v0.0.0-20230701100949-027561bd2a33 // indirect
|
||||
git.gammaspectra.live/P2Pool/edwards25519 v0.0.0-20240405085108-e2f706cb5c00 // indirect
|
||||
git.gammaspectra.live/P2Pool/go-monero v0.0.0-20230410011208-910450c4a523 // indirect
|
||||
git.gammaspectra.live/P2Pool/go-randomx v0.0.0-20221027085532-f46adfce03a7 // indirect
|
||||
git.gammaspectra.live/P2Pool/moneroutil v0.0.0-20230722215223-18ecc51ae61e // indirect
|
||||
|
@ -24,12 +23,11 @@ require (
|
|||
github.com/go-zeromq/zmq4 v0.16.0 // indirect
|
||||
github.com/goccy/go-json v0.10.2 // indirect
|
||||
github.com/holiman/uint256 v1.2.4 // indirect
|
||||
github.com/jxskiss/base62 v1.1.0 // indirect
|
||||
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect
|
||||
go.etcd.io/bbolt v1.3.7 // indirect
|
||||
golang.org/x/crypto v0.19.0 // indirect
|
||||
golang.org/x/sync v0.6.0 // indirect
|
||||
golang.org/x/sys v0.17.0 // indirect
|
||||
go.etcd.io/bbolt v1.3.9 // indirect
|
||||
golang.org/x/crypto v0.22.0 // indirect
|
||||
golang.org/x/sync v0.7.0 // indirect
|
||||
golang.org/x/sys v0.19.0 // indirect
|
||||
golang.org/x/text v0.14.0 // indirect
|
||||
lukechampine.com/uint128 v1.3.0 // indirect
|
||||
)
|
||||
|
|
28
go.sum
28
go.sum
|
@ -1,7 +1,7 @@
|
|||
git.gammaspectra.live/P2Pool/consensus/v3 v3.0.2 h1:as+m+wDncxWiQ02Yxi5dKZ3ZG1dPxgTKj0zWGMwxIqU=
|
||||
git.gammaspectra.live/P2Pool/consensus/v3 v3.0.2/go.mod h1:wgvMwy3c+rztPojdRaRUH6Hly+DRHy6Kv9KRIos3FxU=
|
||||
git.gammaspectra.live/P2Pool/edwards25519 v0.0.0-20230701100949-027561bd2a33 h1:BPV7iIiv8T+X7gg9/JfNmEBoH4HXOkw8CR7FN6bBwB8=
|
||||
git.gammaspectra.live/P2Pool/edwards25519 v0.0.0-20230701100949-027561bd2a33/go.mod h1:336HUKX25mQ1qUtzkwV9Wrqi153tTgUOKcIhpYuF2ts=
|
||||
git.gammaspectra.live/P2Pool/consensus/v3 v3.1.0 h1:Tq8Kp6GJhlDfUma1QCx2jizk6KyAtP2gNLGGPXuXqN4=
|
||||
git.gammaspectra.live/P2Pool/consensus/v3 v3.1.0/go.mod h1:4JzYtZXWfIzmqCphcpOmf9noJ+lTLaWjtcD2c3Bp0Pk=
|
||||
git.gammaspectra.live/P2Pool/edwards25519 v0.0.0-20240405085108-e2f706cb5c00 h1:mDQY337iKB+kle5RYWL5CoAz+3DmnkAh/B2XD8B+PFk=
|
||||
git.gammaspectra.live/P2Pool/edwards25519 v0.0.0-20240405085108-e2f706cb5c00/go.mod h1:FZsrMWGucMP3SZamzrd7m562geIs5zp1O/9MGoiAKH0=
|
||||
git.gammaspectra.live/P2Pool/go-monero v0.0.0-20230410011208-910450c4a523 h1:oIJzm7kQyASS0xlJ79VSWRvvfXp2Qt7M05+E20o9gwE=
|
||||
git.gammaspectra.live/P2Pool/go-monero v0.0.0-20230410011208-910450c4a523/go.mod h1:TAOAAV972JNDkCzyV5SkbYkKCRvcfhvvFa8LHH4Dg6g=
|
||||
git.gammaspectra.live/P2Pool/go-randomx v0.0.0-20221027085532-f46adfce03a7 h1:bzHDuu1IgETKqPBOlIdCE2LaZIJ+ZpROSprNn+fnzd8=
|
||||
|
@ -10,8 +10,6 @@ git.gammaspectra.live/P2Pool/moneroutil v0.0.0-20230722215223-18ecc51ae61e h1:ro
|
|||
git.gammaspectra.live/P2Pool/moneroutil v0.0.0-20230722215223-18ecc51ae61e/go.mod h1:Wn5QI7XIMHMpEu10pPspW9h3eGmXQPJwh/4/+Gi3G1U=
|
||||
git.gammaspectra.live/P2Pool/observer-cache-archive v0.0.0-20240403175902-82f1b2cbe6d9 h1:xxFQ7gJB4a0wTZv8InZADAF65e4WKAlBCt2JgmQq//w=
|
||||
git.gammaspectra.live/P2Pool/observer-cache-archive v0.0.0-20240403175902-82f1b2cbe6d9/go.mod h1:N3CQRDaVmZkTnRYbyNsmB9HGVcRnCSpAAKo6UNtxmFo=
|
||||
git.gammaspectra.live/P2Pool/observer-cmd-utils v0.0.0-20240403175747-82cff4d3bd01 h1:K4N+NZ0XdJQqeQwxgkgyISv7+/1Afy2RgMbyykJbARk=
|
||||
git.gammaspectra.live/P2Pool/observer-cmd-utils v0.0.0-20240403175747-82cff4d3bd01/go.mod h1:BPFII6OaDqWYVp5uX9SFsUMQA6gd63KsH3x+kFWG6is=
|
||||
git.gammaspectra.live/P2Pool/randomx-go-bindings v0.0.0-20230514082649-9c5f18cd5a71 h1:MgeHHcF+GnCJBWMSzq8XAbc8p/UhNwFruEKCPPJ74YQ=
|
||||
git.gammaspectra.live/P2Pool/randomx-go-bindings v0.0.0-20230514082649-9c5f18cd5a71/go.mod h1:KQaYHIxGXNHNMQELC7xGLu8xouwvP/dN7iGk681BXmk=
|
||||
git.gammaspectra.live/P2Pool/sha3 v0.0.0-20230604092430-04fe7dc6439a h1:c24MHv/z+aBYpYNsQHcJqmFuaYInGVixJZgDCXA/4bs=
|
||||
|
@ -36,8 +34,6 @@ github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
|
|||
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
|
||||
github.com/holiman/uint256 v1.2.4 h1:jUc4Nk8fm9jZabQuqr2JzednajVmBpC+oiTiXZJEApU=
|
||||
github.com/holiman/uint256 v1.2.4/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXeiRV4ng7E=
|
||||
github.com/jxskiss/base62 v1.1.0 h1:A5zbF8v8WXx2xixnAKD2w+abC+sIzYJX+nxmhA6HWFw=
|
||||
github.com/jxskiss/base62 v1.1.0/go.mod h1:HhWAlUXvxKThfOlZbcuFzsqwtF5TcqS9ru3y5GfjWAc=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/sclevine/spec v1.4.0 h1:z/Q9idDcay5m5irkZ28M7PtQM4aOISzOpj4bUPkDee8=
|
||||
|
@ -46,14 +42,14 @@ github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKs
|
|||
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo=
|
||||
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs=
|
||||
go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ=
|
||||
go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw=
|
||||
golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo=
|
||||
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
|
||||
golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
|
||||
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
|
||||
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
go.etcd.io/bbolt v1.3.9 h1:8x7aARPEXiXbHmtUwAIv7eV2fQFHrLLavdiJ3uzJXoI=
|
||||
go.etcd.io/bbolt v1.3.9/go.mod h1:zaO32+Ti0PK1ivdPtgMESzuzL2VPoIG1PCQNvOdo/dE=
|
||||
golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30=
|
||||
golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M=
|
||||
golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
|
||||
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
|
||||
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
||||
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
|
|
16
json.go
Normal file
16
json.go
Normal file
|
@ -0,0 +1,16 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"git.gammaspectra.live/P2Pool/consensus/v3/utils"
|
||||
"io"
|
||||
"net/http"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func EncodeJson(r *http.Request, writer io.Writer, d any) error {
|
||||
encoder := utils.NewJSONEncoder(writer)
|
||||
if strings.Index(strings.ToLower(r.Header.Get("user-agent")), "mozilla") != -1 {
|
||||
encoder.SetIndent("", " ")
|
||||
}
|
||||
return encoder.EncodeWithOption(d, utils.JsonEncodeOptions...)
|
||||
}
|
Loading…
Reference in a new issue