return webfinger responses on secondary domains
1 file changed, 7 insertions(+), 2 deletions(-)
changed files
M internal/website/mux.go → internal/website/mux.go
@@ -24,6 +24,8 @@ Code: http.StatusInternalServerError, Cause: err, } } + + return nil } return &ihttp.Error{@@ -104,13 +106,14 @@ return nil } func (website *Website) MakeRedirectorApp() *server.App { - mux := http.NewServeMux() + mux := ihttp.NewServeMux() + mux.HandleFunc("/.well-known/webfinger", website.webfinger) re := regexp.MustCompile( "^(.*)\\." + strings.ReplaceAll(website.config.WildcardDomain, ".", `\.`) + "$", ) replace := "${1}." + website.config.Domains[0] - mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) *ihttp.Error { switch { case slices.Contains(website.config.Domains, r.Host): path, _ := website.reader.CanonicalisePath(r.URL.Path)@@ -127,6 +130,8 @@ ihttp.Redirect(w, r, url, http.StatusTemporaryRedirect) case true: http.NotFound(w, r) } + + return nil }) return &server.App{