Sort ServeMux entries by length
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user