Skip to content
Snippets Groups Projects
Commit f825f043 authored by Pavel Antonov's avatar Pavel Antonov :asterisk:
Browse files

Merge branch 'feature/PRXS-1323-AddUtil' into 'master'

Добавлена функция для получения ошибки из HTTP-ответа

See merge request perxis/perxis-go!62
parents 53565aec b7331824
No related branches found
No related tags found
No related merge requests found
package transport
import (
"bytes"
"io"
"net/http"
"strings"
jsoniter "github.com/json-iterator/go"
"github.com/pkg/errors"
)
func DecodeError(r *http.Response) error {
if r.StatusCode >= 200 && r.StatusCode < 300 {
return nil
}
var buf bytes.Buffer
if _, err := io.Copy(&buf, io.LimitReader(r.Body, 1024)); err != nil {
return err
}
e := struct {
Error error `json:"error"`
}{}
if err := jsoniter.Unmarshal(buf.Bytes(), e); err != nil {
msg := strings.TrimSpace(buf.String())
if msg == "" {
msg = http.StatusText(r.StatusCode)
}
return errors.New(msg)
}
return e.Error
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment