Skip to content

Commit 04a1db7

Browse files
committed
chore: Move errors to variables in the Server methods
1 parent 5c5cbd3 commit 04a1db7

1 file changed

Lines changed: 15 additions & 8 deletions

File tree

internal/jsonrpc2/server.go

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,13 @@ import (
88
"log/slog"
99
)
1010

11+
var errNilHandler = errors.New("nil handler provided")
12+
var errCouldNotHandleMsg = errors.New("could not handle message")
13+
var errCouldNotSendResp = errors.New("could not send response")
14+
var errCouldNotMarshalResp = errors.New("could not marshal response")
15+
var errCouldNotMarshalError = errors.New("could not marshal error")
16+
var errCouldNotMarshalErrorResp = errors.New("could not marshal error response")
17+
1118
// Server represents the JSON-RPC server.
1219
type Server struct {
1320
stream *Stream
@@ -21,7 +28,7 @@ func NewServer(
2128
writer io.Writer,
2229
) (*Server, error) {
2330
if handler == nil {
24-
return nil, errors.New("nil handler provided")
31+
return nil, errNilHandler
2532
}
2633

2734
stream := NewStream(reader, writer)
@@ -61,7 +68,7 @@ func (s *Server) handleMessage(msg []byte) error {
6168
if err != nil {
6269
_ = s.sendError(req.ID, ErrorCodeParseError, err.Error(), nil)
6370

64-
return fmt.Errorf("could not unmarshal message: %s", err)
71+
return fmt.Errorf("could not unmarshal message: %w", err)
6572
}
6673

6774
result, handleErr := s.handler.Handle(req.Method, req.Params)
@@ -70,10 +77,10 @@ func (s *Server) handleMessage(msg []byte) error {
7077
err = s.sendError(req.ID, handleErr.Code, handleErr.Message, handleErr.Data)
7178

7279
if err != nil {
73-
return fmt.Errorf("could not send error: %s", err)
80+
return fmt.Errorf("could not send error: %w", err)
7481
}
7582

76-
return fmt.Errorf("could not handle message: %s", handleErr.Message)
83+
return fmt.Errorf("%w: %s", errCouldNotHandleMsg, handleErr.Message)
7784
}
7885

7986
if req.ID.IsNull() || result == nil {
@@ -83,7 +90,7 @@ func (s *Server) handleMessage(msg []byte) error {
8390
err = s.sendResponse(req.ID, result)
8491

8592
if err != nil {
86-
return fmt.Errorf("could not send response: %s", err)
93+
return fmt.Errorf("%w: %w", errCouldNotSendResp, err)
8794
}
8895

8996
return nil
@@ -94,7 +101,7 @@ func (s *Server) sendResponse(id RequestID, result json.RawMessage) error {
94101
data, err := json.Marshal(res)
95102

96103
if err != nil {
97-
return fmt.Errorf("could not marshal response: %w", err)
104+
return fmt.Errorf("%w: %w", errCouldNotMarshalResp, err)
98105
}
99106

100107
return s.stream.WriteMessage(data)
@@ -110,14 +117,14 @@ func (s *Server) sendError(
110117
errData, err := json.Marshal(errObj)
111118

112119
if err != nil {
113-
return fmt.Errorf("could not marshal error: %w", err)
120+
return fmt.Errorf("%w: %w", errCouldNotMarshalError, err)
114121
}
115122

116123
resp := NewErrorResponse(errData, id)
117124
respData, err := json.Marshal(resp)
118125

119126
if err != nil {
120-
return fmt.Errorf("could not marshal error response: %w", err)
127+
return fmt.Errorf("%w: %w", errCouldNotMarshalErrorResp, err)
121128
}
122129

123130
return s.stream.WriteMessage(respData)

0 commit comments

Comments
 (0)