Sto provando ad avviare un server HTTP in Go che servirà i miei dati utilizzando i miei gestori, ma allo stesso tempo vorrei utilizzare il file server http di default per servire i file.Gestore di FileServer con altri gestori HTTP
Sto riscontrando problemi nel far funzionare il gestore del FileServer in una sottodirectory URL.
Questo codice non funziona:
package main
import (
"fmt"
"log"
"net/http"
)
func main() {
http.Handle("/files/", http.FileServer(http.Dir(".")))
http.HandleFunc("/hello", myhandler)
err := http.ListenAndServe(":1234", nil)
if err != nil {
log.Fatal("Error listening: ", err)
}
}
func myhandler(w http.ResponseWriter, req *http.Request) {
fmt.Fprintln(w, "Hello!")
}
mi aspettavo di trovare la directory locale in localhost: 1234/files/ma restituisce un 404 page not found
.
Tuttavia, se cambio l'indirizzo del gestore del fileserver a /, funziona:
/* ... */
http.Handle("/", http.FileServer(http.Dir(".")))
Ma ora i miei file sono accessibili e visibili nella directory principale.
Come posso farlo per servire file da un URL diverso da root?
Oh, era proprio sotto l'esempio FileServer, mi sento così stupido ... Grazie! – siritinga