diff options
Diffstat (limited to 'wrapper.go')
-rw-r--r-- | wrapper.go | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/wrapper.go b/wrapper.go deleted file mode 100644 index 8058a27..0000000 --- a/wrapper.go +++ /dev/null @@ -1,25 +0,0 @@ -package jsonrpc2 - -import ( - "context" - "encoding/json" -) - -func Wrap[RQ any, RS any](handler func(context.Context, *RQ) (RS, error)) Handler { - return func(ctx context.Context, in json.RawMessage) (json.RawMessage, error) { - req := new(RQ) - if err := json.Unmarshal(in, req); err != nil { - return nil, NewError(ErrCodeParseError) - } - resp, err := handler(ctx, req) - if err != nil { - return nil, Error{ - Code: ErrUser, - Message: err.Error(), - } - } - return json.Marshal(resp) - } -} - -type Handler func(context.Context, json.RawMessage) (json.RawMessage, error) |