linstrom/web/public/errorpages.go
mstar 4a2462e24e
Some checks failed
/ docker (push) Failing after 15m26s
Explicitly ignore errors from writes to responses
2025-05-22 17:29:09 +02:00

26 lines
1.4 KiB
Go

package webpublic
import (
"fmt"
"net/http"
webutils "git.mstar.dev/mstar/goutils/http"
)
var errorDescriptions = map[string]string{
"webfinger-bad-resource": "The given format for the \"resource\" url parameter was missing or invalid. It must follow the form \"acct:<username>@<domain>\"",
"db-failure": "The database query for this request failed for an undisclosed reason. This is often caused by bad input data conflicting with existing information. Try to submit different data or wait for some time",
"bad-request-data": "The data provided in the request doesn't match the requirements, see problem details' detail field for more information",
"bad-page": "The provided page number was not valid. See response details for more information",
"bad-accept-mime-type": "The requested mime type is not supported for the target url",
"invalid-auth-signature": "The requested URL requires verification via authorized fetch. See https://swicg.github.io/activitypub-http-signature/ and https://datatracker.ietf.org/doc/html/rfc9421 (not implemented yet) for details on how to verify your request",
}
func errorTypeHandler(w http.ResponseWriter, r *http.Request) {
errName := r.PathValue("name")
if description, ok := errorDescriptions[errName]; ok {
_, _ = fmt.Fprint(w, description)
} else {
_ = webutils.ProblemDetailsStatusOnly(w, 404)
}
}