From 6ff3deb6116df5507877df05c5e2f825d7530eae Mon Sep 17 00:00:00 2001 From: Sasha Melentyev Date: Thu, 10 Feb 2022 17:28:45 +0300 Subject: [PATCH] fix(server): fix EOF error --- go.mod | 2 +- go.sum | 4 ++-- internal/server/handler.go | 6 +++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 1735a10..f66a473 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/goccy/go-yaml v1.9.5 github.com/lamoda/gonkey v1.13.2 github.com/neotoolkit/faker v0.1.2 - github.com/neotoolkit/openapi v0.7.0 + github.com/neotoolkit/openapi v0.7.1 github.com/rs/zerolog v1.26.1 github.com/stretchr/testify v1.7.0 ) diff --git a/go.sum b/go.sum index 190cd43..ff4a312 100644 --- a/go.sum +++ b/go.sum @@ -42,8 +42,8 @@ github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9 github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/neotoolkit/faker v0.1.2 h1:4/Xbk8DssKBZFUA/wIpWeGvWM9KMlQoitLFck3KROdg= github.com/neotoolkit/faker v0.1.2/go.mod h1:ChsI+y4MR3t1Ybbt0ktUXqDVJTq9w9oXuL59jJ5ufF4= -github.com/neotoolkit/openapi v0.7.0 h1:y/AGnqVMgG6h1vps6e5lCEVYlim99PIiE+zvxH0Xduc= -github.com/neotoolkit/openapi v0.7.0/go.mod h1:gjP+o4cR08QAZaVFIvJP6rsBoBlqz34hovntey1r4ks= +github.com/neotoolkit/openapi v0.7.1 h1:adKR3bNjPznIwLDHffSZ6IUrsxMmDcfGs30VeYiRvbc= +github.com/neotoolkit/openapi v0.7.1/go.mod h1:gjP+o4cR08QAZaVFIvJP6rsBoBlqz34hovntey1r4ks= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= diff --git a/internal/server/handler.go b/internal/server/handler.go index 330186d..a376d40 100644 --- a/internal/server/handler.go +++ b/internal/server/handler.go @@ -37,7 +37,7 @@ func (s *Server) Handler(w http.ResponseWriter, r *http.Request) { response, ok, err := s.Handlers.Get(path, r.Method, r.Body) if ok { - if _, ok := err.(*json.SyntaxError); ok || errors.Is(err, api.ErrEmptyRequireField) { + if _, ok := err.(*json.SyntaxError); ok || errors.Is(err, api.ErrEmptyRequireField) || err == io.EOF { w.WriteHeader(http.StatusBadRequest) return @@ -77,6 +77,10 @@ func (h Handlers) Get(path, method string, body io.ReadCloser) (api.Response, bo return api.Response{}, true, err } + if err == io.EOF { + return api.Response{}, true, err + } + if _, ok := err.(*json.SyntaxError); ok { return api.Response{}, true, err }