diff --git a/tonic/handler.go b/tonic/handler.go index 5db56f2..dfed184 100644 --- a/tonic/handler.go +++ b/tonic/handler.go @@ -84,11 +84,21 @@ func Handler(h interface{}, status int, options ...func(*Route)) gin.HandlerFunc handleError(c, bindError) return } + // Bind query-parameters. + if err := bind(c, input, QueryTag, extractQuery); err != nil { + handleError(c, err) + return + } // Bind path arguments. if err := bind(c, input, PathTag, extractPath); err != nil { handleError(c, err) return } + // Bind headers. + if err := bind(c, input, HeaderTag, extractHeader); err != nil { + handleError(c, err) + return + } // validating query and path inputs if they have a validate tag initValidator() args = append(args, input)