summaryrefslogtreecommitdiff
path: root/finger
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 /finger
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 'finger')
-rw-r--r--finger/serve.go2
-rw-r--r--finger/system.go4
2 files changed, 3 insertions, 3 deletions
diff --git a/finger/serve.go b/finger/serve.go
index 8623de5..68b0fa5 100644
--- a/finger/serve.go
+++ b/finger/serve.go
@@ -58,7 +58,7 @@ func (fs *fingerServer) handleConn(conn net.Conn) {
_, _ = fmt.Fprint(conn, "Error handling request.\r\n")
}
}()
- response := fs.handler(fs.Ctx, request)
+ response := fs.handler.Handle(fs.Ctx, request)
if response == nil {
response = Error("No result found.")
}
diff --git a/finger/system.go b/finger/system.go
index 7112967..4bcf573 100644
--- a/finger/system.go
+++ b/finger/system.go
@@ -14,7 +14,7 @@ var ListingDenied = errors.New("Finger online user list denied.")
// SystemFinger handles finger requests by invoking the finger(1) command-line utility.
func SystemFinger(allowListings bool) gus.Handler {
- return func(ctx context.Context, request *gus.Request) *gus.Response {
+ return gus.HandlerFunc(func(ctx context.Context, request *gus.Request) *gus.Response {
fingerPath, err := exec.LookPath("finger")
if err != nil {
_ = request.Server.LogError(
@@ -44,5 +44,5 @@ func SystemFinger(allowListings bool) gus.Handler {
return Error(err.Error())
}
return Success(outbuf)
- }
+ })
}