From f0b3d34c05d99bb088214bb1ad57520795cf6a5d Mon Sep 17 00:00:00 2001 From: Nikita Tokarchuk Date: Fri, 3 Dec 2021 03:01:48 +0100 Subject: [PATCH] Add not-found error handler --- frontend/content/error.go | 2 ++ frontend/renderer/error.go | 14 ++++++++++++++ frontend/renderer/renderer.go | 1 + 3 files changed, 17 insertions(+) create mode 100644 frontend/renderer/error.go diff --git a/frontend/content/error.go b/frontend/content/error.go index b170e46..5cf53d8 100644 --- a/frontend/content/error.go +++ b/frontend/content/error.go @@ -3,4 +3,6 @@ package content // Error content data type Error struct { _ interface{} `template:"error.go.tmpl"` + + Message string } diff --git a/frontend/renderer/error.go b/frontend/renderer/error.go new file mode 100644 index 0000000..9e7a183 --- /dev/null +++ b/frontend/renderer/error.go @@ -0,0 +1,14 @@ +package renderer + +import ( + "code.tokarch.uk/mainnika/nikita-tokarch-uk/frontend/content" + routing "github.com/jackwhelpton/fasthttp-routing/v2" +) + +// errorNotFound renders http error-404 template +func (r *Renderer) errorNotFound(c *routing.Context) (err error) { + + errorContent := content.Error{Message: "not found"} + + return c.Write(errorContent) +} diff --git a/frontend/renderer/renderer.go b/frontend/renderer/renderer.go index 41b1449..79313d5 100644 --- a/frontend/renderer/renderer.go +++ b/frontend/renderer/renderer.go @@ -29,6 +29,7 @@ func (r *Renderer) init() { router := routing.New() router.Use(r.useTemplateWriter) + router.NotFound(r.errorNotFound) r.router = router r.handler = router.HandleRequest