From edc30e6d36b51f73d2db31e6fbc55f86e8ca451f Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Sat, 5 Apr 2025 23:18:30 +0800 Subject: web: Separate HTTP error pages into its own package --- internal/web/error_pages.go | 48 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 internal/web/error_pages.go (limited to 'internal') 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 + +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) +} -- cgit v1.2.3