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. --- contrib/tlsauth/gemini.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'contrib/tlsauth/gemini.go') diff --git a/contrib/tlsauth/gemini.go b/contrib/tlsauth/gemini.go index 0db89de..40bee9e 100644 --- a/contrib/tlsauth/gemini.go +++ b/contrib/tlsauth/gemini.go @@ -14,7 +14,7 @@ import ( // not pass the approver it will be rejected with "62 certificate invalid". func GeminiAuth(approver Approver) gus.Middleware { return func(inner gus.Handler) gus.Handler { - return func(ctx context.Context, request *gus.Request) *gus.Response { + return gus.HandlerFunc(func(ctx context.Context, request *gus.Request) *gus.Response { identity := Identity(request) if identity == nil { return geminiMissingCert(ctx, request) @@ -23,8 +23,8 @@ func GeminiAuth(approver Approver) gus.Middleware { return geminiCertNotAuthorized(ctx, request) } - return inner(ctx, request) - } + return inner.Handle(ctx, request) + }) } } @@ -35,14 +35,14 @@ func GeminiAuth(approver Approver) gus.Middleware { // certificate, but it fails the approval. func GeminiOptionalAuth(approver Approver) gus.Middleware { return func(inner gus.Handler) gus.Handler { - return func(ctx context.Context, request *gus.Request) *gus.Response { + return gus.HandlerFunc(func(ctx context.Context, request *gus.Request) *gus.Response { identity := Identity(request) if identity != nil && !approver(identity) { return geminiCertNotAuthorized(ctx, request) } - return inner(ctx, request) - } + return inner.Handle(ctx, request) + }) } } -- cgit v1.2.3