From 46ad450327111b9d28b592658d75ef57da498298 Mon Sep 17 00:00:00 2001 From: tjpcc Date: Wed, 15 Feb 2023 16:44:29 -0700 Subject: Switch Handler to an interface. HandlerFunc is much better as a function returning a Handler, rather than a newtype for the function type itself. This way there is no confusion creating a type-inferenced variable with HandlerFunc(func(... and then using a HandlerFunc where a Handler is expected. Much better to only have one public type. --- router.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'router.go') diff --git a/router.go b/router.go index 41a3a04..71fd086 100644 --- a/router.go +++ b/router.go @@ -50,10 +50,10 @@ func (r Router) Handler(ctx context.Context, request *Request) *Response { return nil } - return handler(context.WithValue(ctx, routeParamsKey, params), request) + return handler.Handle(context.WithValue(ctx, routeParamsKey, params), request) } -// Match returns the matched handler and captured path parameters, or nils. +// Match returns the matched handler and captured path parameters, or (nil, nil). // // The returned handlers will be wrapped with any middleware attached to the router. func (r Router) Match(request *Request) (Handler, map[string]string) { -- cgit v1.2.3