linstrom/web/public/errorpages.go
mstar 7eac1db475
All checks were successful
/ docker (push) Successful in 4m12s
Start work on auth fetch middleware
2025-04-16 16:43:57 +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)
}
}