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 /finger | |
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 'finger')
-rw-r--r-- | finger/serve.go | 2 | ||||
-rw-r--r-- | finger/system.go | 4 |
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) - } + }) } |