Commit 90d9c3ac authored by Matthew Slipper's avatar Matthew Slipper

CR updates

parent 1760613c
...@@ -111,3 +111,14 @@ func NewRPCErrorRes(id json.RawMessage, err error) *RPCRes { ...@@ -111,3 +111,14 @@ func NewRPCErrorRes(id json.RawMessage, err error) *RPCRes {
ID: id, ID: id,
} }
} }
func IsBatch(raw []byte) bool {
for _, c := range raw {
// skip insignificant whitespace (http://www.ietf.org/rfc/rfc4627.txt)
if c == 0x20 || c == 0x09 || c == 0x0a || c == 0x0d {
continue
}
return c == '['
}
return false
}
\ No newline at end of file
...@@ -24,7 +24,7 @@ const ( ...@@ -24,7 +24,7 @@ const (
ContextKeyAuth = "authorization" ContextKeyAuth = "authorization"
ContextKeyReqID = "req_id" ContextKeyReqID = "req_id"
ContextKeyXForwardedFor = "x_forwarded_for" ContextKeyXForwardedFor = "x_forwarded_for"
MaxBatchRPCCalls = 25 MaxBatchRPCCalls = 100
) )
type Server struct { type Server struct {
...@@ -138,7 +138,7 @@ func (s *Server) HandleRPC(w http.ResponseWriter, r *http.Request) { ...@@ -138,7 +138,7 @@ func (s *Server) HandleRPC(w http.ResponseWriter, r *http.Request) {
} }
RecordRequestPayloadSize(ctx, len(body)) RecordRequestPayloadSize(ctx, len(body))
if body[0] == '[' { if IsBatch(body) {
reqs, err := ParseBatchRPCReq(body) reqs, err := ParseBatchRPCReq(body)
if err != nil { if err != nil {
log.Error("error parsing batch RPC request", "err", err) log.Error("error parsing batch RPC request", "err", err)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment