diff options
author | tjpcc <tjp@ctrl-c.club> | 2023-02-15 16:44:29 -0700 |
---|---|---|
committer | tjpcc <tjp@ctrl-c.club> | 2023-02-15 16:44:29 -0700 |
commit | 46ad450327111b9d28b592658d75ef57da498298 (patch) | |
tree | 2b837bac9ae36d5a34dda06ba745850da216257d /examples | |
parent | bc96af40db6104580c22086c8db7c8119a404257 (diff) |
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.
Diffstat (limited to 'examples')
-rw-r--r-- | examples/cowsay/main.go | 4 | ||||
-rw-r--r-- | examples/inspectls/main.go | 4 |
2 files changed, 4 insertions, 4 deletions
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{} |