diff options
author | Runxi Yu <me@runxiyu.org> | 2025-04-05 23:18:30 +0800 |
---|---|---|
committer | Runxi Yu <me@runxiyu.org> | 2025-04-05 23:18:30 +0800 |
commit | edc30e6d36b51f73d2db31e6fbc55f86e8ca451f (patch) | |
tree | 5d15da4dc72b71e86f7293e51d12b29706e8889a /internal/web/error_pages.go | |
parent | Remove an unnecessary nolint:gochecknoglobals (diff) | |
download | forge-edc30e6d36b51f73d2db31e6fbc55f86e8ca451f.tar.gz forge-edc30e6d36b51f73d2db31e6fbc55f86e8ca451f.tar.zst forge-edc30e6d36b51f73d2db31e6fbc55f86e8ca451f.zip |
web: Separate HTTP error pages into its own package
Diffstat (limited to 'internal/web/error_pages.go')
-rw-r--r-- | internal/web/error_pages.go | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/internal/web/error_pages.go b/internal/web/error_pages.go new file mode 100644 index 0000000..200e9d3 --- /dev/null +++ b/internal/web/error_pages.go @@ -0,0 +1,48 @@ +// SPDX-License-Identifier: AGPL-3.0-only +// SPDX-FileCopyrightText: Copyright (c) 2025 Runxi Yu <https://runxiyu.org> + +package web + +import ( + "html/template" + "net/http" +) + +func ErrorPage404(templates *template.Template, w http.ResponseWriter, params map[string]any) { + w.WriteHeader(http.StatusNotFound) + _ = templates.ExecuteTemplate(w, "404", params) +} + +func ErrorPage400(templates *template.Template, w http.ResponseWriter, params map[string]any, msg string) { + w.WriteHeader(http.StatusBadRequest) + params["complete_error_msg"] = msg + _ = templates.ExecuteTemplate(w, "400", params) +} + +func ErrorPage400Colon(templates *template.Template, w http.ResponseWriter, params map[string]any) { + w.WriteHeader(http.StatusBadRequest) + _ = templates.ExecuteTemplate(w, "400_colon", params) +} + +func ErrorPage403(templates *template.Template, w http.ResponseWriter, params map[string]any, msg string) { + w.WriteHeader(http.StatusForbidden) + params["complete_error_msg"] = msg + _ = templates.ExecuteTemplate(w, "403", params) +} + +func ErrorPage451(templates *template.Template, w http.ResponseWriter, params map[string]any, msg string) { + w.WriteHeader(http.StatusUnavailableForLegalReasons) + params["complete_error_msg"] = msg + _ = templates.ExecuteTemplate(w, "451", params) +} + +func ErrorPage500(templates *template.Template, w http.ResponseWriter, params map[string]any, msg string) { + w.WriteHeader(http.StatusInternalServerError) + params["complete_error_msg"] = msg + _ = templates.ExecuteTemplate(w, "500", params) +} + +func ErrorPage501(templates *template.Template, w http.ResponseWriter, params map[string]any) { + w.WriteHeader(http.StatusNotImplemented) + _ = templates.ExecuteTemplate(w, "501", params) +} |