diff options
author | tjp <tjp@ctrl-c.club> | 2023-11-14 09:39:53 -0700 |
---|---|---|
committer | tjp <tjp@ctrl-c.club> | 2023-11-14 09:39:53 -0700 |
commit | c22799fa12c99932fc4620fce2dc0994567a52af (patch) | |
tree | 5c89892e82f0ca805af976a2d2038a690152d4c6 /contrib/fs | |
parent | e599f0e2d4f8177143478ba17189e1ef656b7fe0 (diff) |
bugfixes from the Protocol refactorv1.6.0
Diffstat (limited to 'contrib/fs')
-rw-r--r-- | contrib/fs/gopher.go | 13 | ||||
-rw-r--r-- | contrib/fs/handlers.go | 2 |
2 files changed, 13 insertions, 2 deletions
diff --git a/contrib/fs/gopher.go b/contrib/fs/gopher.go index 209a4ec..22cdbc3 100644 --- a/contrib/fs/gopher.go +++ b/contrib/fs/gopher.go @@ -29,7 +29,18 @@ func GopherDirectoryDefault(fsroot, urlroot string, settings *gophermap.FileSyst } handler := directoryDefault(gopher.ServerProtocol, fsroot, urlroot, false, settings.DirMaps...) - return gophermap.ExtendMiddleware(fsroot, urlroot, settings)(handler) + + // force response status to MenuType since we hit a directory default file + menuHandler := sr.HandlerFunc(func(ctx context.Context, request *sr.Request) *sr.Response { + response := handler.Handle(ctx, request) + if response == nil { + return response + } + response.Status = gopher.MenuType + return response + }) + + return gophermap.ExtendMiddleware(fsroot, urlroot, settings)(menuHandler) } // GopherDirectoryListing produces a listing of the contents of any requested directories. diff --git a/contrib/fs/handlers.go b/contrib/fs/handlers.go index 75422d9..02b7d38 100644 --- a/contrib/fs/handlers.go +++ b/contrib/fs/handlers.go @@ -79,7 +79,7 @@ func directoryDefault( if err != nil { return protocol.TemporaryServerError(err) } - return protocol.Success(filepath.Base(fpath), file) + return protocol.Success(fpath, file) } return nil |