summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authortjpcc <tjp@ctrl-c.club>2023-02-15 16:44:29 -0700
committertjpcc <tjp@ctrl-c.club>2023-02-15 16:44:29 -0700
commit46ad450327111b9d28b592658d75ef57da498298 (patch)
tree2b837bac9ae36d5a34dda06ba745850da216257d /examples
parentbc96af40db6104580c22086c8db7c8119a404257 (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.go4
-rw-r--r--examples/inspectls/main.go4
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{}