package main import ( "os" sr "tildegit.org/tjp/sliderule" "tildegit.org/tjp/sliderule/contrib/cgi" "tildegit.org/tjp/sliderule/contrib/fs" ) func geminiRouter(conf config) sr.Handler { fsys := os.DirFS(conf.geminiRoot) router := &sr.Router{} router.Route( "/*", sr.FallthroughHandler( fs.GeminiFileHandler(fsys), fs.GeminiDirectoryDefault(fsys, "index.gmi"), fs.GeminiDirectoryListing(fsys, nil), ), ) router.Route( "/cgi-bin/*", cgi.GeminiCGIDirectory("/cgi-bin/", "./cgi-bin/"), ) return router.Handler() }