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. --- examples/cowsay/main.go | 4 ++-- examples/inspectls/main.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'examples') diff --git a/examples/cowsay/main.go b/examples/cowsay/main.go index 4a3f980..93f50d8 100644 --- a/examples/cowsay/main.go +++ b/examples/cowsay/main.go @@ -36,7 +36,7 @@ func main() { server.Serve() } -func cowsayHandler(ctx context.Context, req *gus.Request) *gus.Response { +var cowsayHandler = gus.HandlerFunc(func(ctx context.Context, req *gus.Request) *gus.Response { // prompt for a query if there is none already if req.RawQuery == "" { return gemini.Input("enter a phrase") @@ -82,7 +82,7 @@ func cowsayHandler(ctx context.Context, req *gus.Request) *gus.Response { bytes.NewBufferString("\n```\n=> . again"), ) return gemini.Success("text/gemini", out) -} +}) func envConfig() (string, string) { certfile, ok := os.LookupEnv("SERVER_CERTIFICATE") diff --git a/examples/inspectls/main.go b/examples/inspectls/main.go index ce82f43..485b84e 100644 --- a/examples/inspectls/main.go +++ b/examples/inspectls/main.go @@ -54,11 +54,11 @@ func envConfig() (string, string) { return certfile, keyfile } -func inspectHandler(ctx context.Context, req *gus.Request) *gus.Response { +var inspectHandler = gus.HandlerFunc(func(ctx context.Context, req *gus.Request) *gus.Response { // build and return a ```-wrapped description of the connection TLS state body := "```\n" + displayTLSState(req.TLSState) + "\n```" return gemini.Success("text/gemini", bytes.NewBufferString(body)) -} +}) func displayTLSState(state *tls.ConnectionState) string { builder := &strings.Builder{} -- cgit v1.2.3