check / check (push) Successful in 3m12s
Every 400, 403, 404 and 500 on an admin page now answers with an error page in the normal layout: the status, one fixed line explaining it, and a link back to the webhook list, or to sign-in when nobody is signed in. Unknown paths reach it through the router's not-found handler, a refused form token through the CSRF middleware, and a panic through a recoverer each admin page route group installs first. Status codes are unchanged, and the page always sends Cache-Control: no-store. If the error page fails to render, the answer is the same status in plain text; if it panics, the answer is a 500. The receiver, the healthcheck and /metrics keep their plain answers. Model: opus-5-5
16 lines
461 B
HTML
16 lines
461 B
HTML
{{template "base" .}}
|
|
|
|
{{define "title"}}{{.StatusText}} - Webhooker{{end}}
|
|
|
|
{{define "content"}}
|
|
<div class="max-w-4xl mx-auto px-6 py-12">
|
|
<h1 class="text-2xl font-medium text-gray-900 mb-4">{{.Status}} {{.StatusText}}</h1>
|
|
<p class="text-gray-600 mb-6">{{.Message}}</p>
|
|
{{if .User}}
|
|
<a href="/hooks" class="btn-secondary">Back to webhooks</a>
|
|
{{else}}
|
|
<a href="/pages/login" class="btn-primary">Sign in</a>
|
|
{{end}}
|
|
</div>
|
|
{{end}}
|