From 5e58934af13fdacecaec0626db7a48c4cd3f6fa2 Mon Sep 17 00:00:00 2001 From: Ben Marsden Date: Wed, 24 Mar 2021 14:51:46 +0200 Subject: [PATCH] fix echo error with trying to bind params and not body Signed-off-by: Ben Marsden --- go.mod | 2 +- go.sum | 4 ++++ server/graphql.go | 4 +++- server/resource.go | 4 +++- server/schema.go | 3 ++- server/upload.go | 4 +++- 6 files changed, 16 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index edbb3b7b..449e5411 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/hashicorp/terraform v0.14.3 github.com/imdario/mergo v0.3.11 github.com/jackc/pgx/v4 v4.10.1 - github.com/labstack/echo/v4 v4.1.17 + github.com/labstack/echo/v4 v4.2.1 github.com/lib/pq v1.9.0 // indirect github.com/likexian/gokit v0.20.15 github.com/moby/term v0.0.0-20201216013528-df9cb8a40635 // indirect diff --git a/go.sum b/go.sum index dea743e5..a987e5da 100644 --- a/go.sum +++ b/go.sum @@ -476,6 +476,8 @@ github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+ github.com/labstack/echo/v4 v4.0.0/go.mod h1:tZv7nai5buKSg5h/8E6zz4LsD/Dqh9/91Mvs7Z5Zyno= github.com/labstack/echo/v4 v4.1.17 h1:PQIBaRplyRy3OjwILGkPg89JRtH2x5bssi59G2EL3fo= github.com/labstack/echo/v4 v4.1.17/go.mod h1:Tn2yRQL/UclUalpb5rPdXDevbkJ+lp/2svdyFBg6CHQ= +github.com/labstack/echo/v4 v4.2.1 h1:LF5Iq7t/jrtUuSutNuiEWtB5eiHfZ5gSe2pcu5exjQw= +github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= github.com/labstack/gommon v0.2.8/go.mod h1:/tj9csK2iPSBvn+3NLM9e52usepMtrd5ilFYA+wQNJ4= github.com/labstack/gommon v0.3.0 h1:JEeO0bvc78PKdyHxloTKiF8BD5iGrH8T6MSeGvSgob0= github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= @@ -932,6 +934,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20201208040808-7e3f01d25324 h1:Hir2P/De0WpUhtrKGGjvSb2YxUgyZ7EFOSLIcSSpiwE= +golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/server/graphql.go b/server/graphql.go index 27abae44..d94c8d34 100644 --- a/server/graphql.go +++ b/server/graphql.go @@ -33,7 +33,9 @@ type apiResponse struct { // @Router /graphql [post] func (*Server) Query(bCtx *env.BubblyContext, c echo.Context) error { var query queryReq - if err := c.Bind(&query); err != nil { + + binder := &echo.DefaultBinder{} + if err := binder.BindBody(c, &query); err != nil { return echo.NewHTTPError(http.StatusBadRequest, err.Error()) } diff --git a/server/resource.go b/server/resource.go index 5a658412..5be63415 100644 --- a/server/resource.go +++ b/server/resource.go @@ -31,7 +31,9 @@ func (a *Server) PostResource(bCtx *env.BubblyContext, // read the resource into a ResourceBlockJSON which keeps the spec{} block // as bytes resJSON := core.ResourceBlockJSON{} - if err := c.Bind(&resJSON); err != nil { + + binder := &echo.DefaultBinder{} + if err := binder.BindBody(c, &resJSON); err != nil { return echo.NewHTTPError(http.StatusBadRequest, err.Error()) } diff --git a/server/schema.go b/server/schema.go index 3a995040..b36f8f29 100644 --- a/server/schema.go +++ b/server/schema.go @@ -22,7 +22,8 @@ import ( // @Router /schema [post] func (a *Server) PostSchema(bCtx *env.BubblyContext, c echo.Context) error { var schema core.Tables - if err := c.Bind(&schema); err != nil { + binder := &echo.DefaultBinder{} + if err := binder.BindBody(c, &schema); err != nil { return echo.NewHTTPError(http.StatusBadRequest, err.Error()) } diff --git a/server/upload.go b/server/upload.go index 58b7131b..7eab44d7 100644 --- a/server/upload.go +++ b/server/upload.go @@ -23,7 +23,9 @@ import ( // @Router /upload [post] func (a *Server) upload(bCtx *env.BubblyContext, c echo.Context) error { var data core.DataBlocks - if err := c.Bind(&data); err != nil { + + binder := &echo.DefaultBinder{} + if err := binder.BindBody(c, &data); err != nil { return echo.NewHTTPError(http.StatusBadRequest, err.Error()) }