1
0
mirror of https://github.com/go-kratos/kratos.git synced 2025-02-09 13:36:57 +02:00

fix error decode (#1068)

* fix error decode
This commit is contained in:
longxboy 2021-06-16 19:54:19 +08:00 committed by GitHub
parent 4e96e08471
commit db02034dd1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 2 deletions

View File

@ -298,6 +298,7 @@ func DefaultErrorDecoder(ctx context.Context, res *http.Response) error {
if err == nil {
e := new(errors.Error)
if err = CodecForResponse(res).Unmarshal(data, e); err == nil {
e.Code = int32(res.StatusCode)
return e
}
}

View File

@ -4,12 +4,13 @@ import (
"bytes"
"context"
"encoding/json"
"github.com/go-kratos/kratos/v2/errors"
"io/ioutil"
nethttp "net/http"
"testing"
"time"
"github.com/go-kratos/kratos/v2/errors"
"github.com/stretchr/testify/assert"
"github.com/go-kratos/kratos/v2/registry"
@ -161,7 +162,7 @@ func TestDefaultErrorDecoder(t *testing.T) {
}
err2 := DefaultErrorDecoder(context.TODO(), resp2)
assert.Error(t, err2)
assert.Equal(t, int32(54321), err2.(*errors.Error).GetCode())
assert.Equal(t, int32(500), err2.(*errors.Error).GetCode())
assert.Equal(t, "hi", err2.(*errors.Error).GetMessage())
assert.Equal(t, "FOO", err2.(*errors.Error).GetReason())
}