diff --git a/gopher.go b/gopher.go index 56d3fd6..4173fb0 100644 --- a/gopher.go +++ b/gopher.go @@ -14,6 +14,7 @@ import ( "bytes" "fmt" "io" + "net/url" "regexp" "strings" @@ -31,7 +32,12 @@ func initGopher(apper Apper) { // Utility function to strip the URL from the hostname provided by app.cfg.App.Host func stripHostProtocol(app *App) string { - return string(regexp.MustCompile("^.*://").ReplaceAll([]byte(app.cfg.App.Host), []byte(""))) + u, err := url.Parse(app.cfg.App.Host) + if err != nil { + // Fall back to host, with scheme stripped + return string(regexp.MustCompile("^.*://").ReplaceAll([]byte(app.cfg.App.Host), []byte(""))) + } + return u.Hostname() } func handleGopher(app *App, w gopher.ResponseWriter, r *gopher.Request) error {