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",
}

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)
	}
}
