From 293655452cfc6a106c55384e839f9c07d340b954 Mon Sep 17 00:00:00 2001 From: Brian Picciano Date: Sat, 21 Jan 2023 16:46:11 +0100 Subject: Continue to polish up posts pages --- src/gmi/gmi.go | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'src/gmi/gmi.go') diff --git a/src/gmi/gmi.go b/src/gmi/gmi.go index 7d4d186..b543e05 100644 --- a/src/gmi/gmi.go +++ b/src/gmi/gmi.go @@ -119,6 +119,21 @@ func (a *api) Shutdown(ctx context.Context) error { return a.srv.Shutdown(ctx) } +func indexMiddleware(h gemini.Handler) gemini.Handler { + + return gemini.HandlerFunc(func( + ctx context.Context, + rw gemini.ResponseWriter, + r *gemini.Request, + ) { + if strings.HasSuffix(r.URL.Path, "/") { + r.URL.Path += "index.gmi" + } + + h.ServeGemini(ctx, rw, r) + }) +} + func postsMiddleware(tplHandler gemini.Handler) gemini.Handler { return gemini.HandlerFunc(func( @@ -156,7 +171,10 @@ func (a *api) handler() (gemini.Handler, error) { mux.Handle("/posts/", postsMiddleware(tplHandler)) mux.Handle("/", tplHandler) - h := mux + var h gemini.Handler + + h = mux + h = indexMiddleware(h) // TODO logging // TODO caching -- cgit v1.2.3