From d75bab2ba79d138547a0ea6d3b3be84a89b050a8 Mon Sep 17 00:00:00 2001 From: Mathias Magnusson Date: Sat, 24 Jan 2026 00:33:11 +0100 Subject: take `http.ResponseWriter` as part of parsed request --- cmd/generate/main.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'cmd/generate/main.go') diff --git a/cmd/generate/main.go b/cmd/generate/main.go index feed0f0..eddd4cb 100644 --- a/cmd/generate/main.go +++ b/cmd/generate/main.go @@ -123,7 +123,10 @@ func run() error { if pattern, ok = strings.CutPrefix(hhRoute, "//hh:route "); !ok { continue } - parsedRequestType, ok := f.Type.Params.List[1].Type.(*ast.StructType) + if len(f.Type.Params.List) != 1 { + return errors.New("Handler must take exactly one parameter") + } + parsedRequestType, ok := f.Type.Params.List[0].Type.(*ast.StructType) if !ok { return errors.New("Parsed request type must be a struct") } @@ -165,7 +168,7 @@ func run() error { winner, ) } - if parsedField.TypeDef == "*http.Request" { + if parsedField.TypeDef == "*http.Request" || parsedField.TypeDef == "http.ResponseWriter" { parsedFunction.RequestTypeFields = append(parsedFunction.RequestTypeFields, parsedField) continue } -- cgit v1.2.3