From d1550b366be826ae38956400be5db95a3c162582 Mon Sep 17 00:00:00 2001 From: workman-Lu Date: Fri, 3 Jun 2022 00:33:32 +0800 Subject: [PATCH] The clear interaction for user (#1916) Content-type is not be promise from RFC2616 7.2.1. it may be need a clear describe info:) --- transport/http/codec.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/transport/http/codec.go b/transport/http/codec.go index be1a9a75b..20b1a8ec6 100644 --- a/transport/http/codec.go +++ b/transport/http/codec.go @@ -1,6 +1,7 @@ package http import ( + "fmt" "io" "net/http" @@ -40,7 +41,7 @@ type EncodeErrorFunc func(http.ResponseWriter, *http.Request, error) func DefaultRequestDecoder(r *http.Request, v interface{}) error { codec, ok := CodecForRequest(r, "Content-Type") if !ok { - return errors.BadRequest("CODEC", r.Header.Get("Content-Type")) + return errors.BadRequest("CODEC", fmt.Sprintf("unregister Content-Type: %s", r.Header.Get("Content-Type"))) } data, err := io.ReadAll(r.Body) if err != nil { @@ -50,7 +51,7 @@ func DefaultRequestDecoder(r *http.Request, v interface{}) error { return nil } if err = codec.Unmarshal(data, v); err != nil { - return errors.BadRequest("CODEC", err.Error()) + return errors.BadRequest("CODEC", fmt.Sprintf("body unmarshal %s", err.Error())) } return nil }