Sort ServeMux entries by length

This commit is contained in:
adnano
2020-09-25 11:00:18 -04:00
parent eb8c9e0c03
commit 99b50e6caf
2 changed files with 59 additions and 10 deletions

View File

@@ -30,14 +30,20 @@ func main() {
}
mux := &gemini.ServeMux{}
mux.HandleFunc("/cert", func(rw *gemini.ResponseWriter, req *gemini.Request) {
rw.WriteHeader(gemini.StatusClientCertificateRequired, "Certificate required")
})
mux.HandleFunc("/", func(rw *gemini.ResponseWriter, req *gemini.Request) {
log.Printf("Request from %s for %s with certificates %v", req.RemoteAddr.String(), req.URL.String(), req.TLS.PeerCertificates)
rw.WriteHeader(gemini.StatusSuccess, "text/gemini")
rw.Write([]byte("You requested " + req.URL.String()))
})
// mux.HandleFunc("/", func(rw *gemini.ResponseWriter, req *gemini.Request) {
// log.Printf("Request from %s for %s with certificates %v", req.RemoteAddr.String(), req.URL.String(), req.TLS.PeerCertificates)
// rw.WriteHeader(gemini.StatusSuccess, "text/gemini")
// rw.Write([]byte("You requested " + req.URL.String()))
// })
// mux.HandleFunc("/cert", func(rw *gemini.ResponseWriter, req *gemini.Request) {
// rw.WriteHeader(gemini.StatusClientCertificateRequired, "Certificate required")
// })
mux.HandleFunc("https://example.com/path", nil)
mux.HandleFunc("http://example.com/path", nil)
mux.HandleFunc("example.com/path", nil)
mux.HandleFunc("/path", nil)
mux.HandleFunc("/longpath", nil)
server := gemini.Server{
TLSConfig: config,