Add base page layout and standard error responses #15

Closed
opened 2026-09-04 23:26:35 +02:00 by arne · 0 comments
Owner

Establish the shared HTML shell and consistent public error rendering for browser and JSON routes.

Acceptance criteria:

  • A base template provides valid document structure, title/content blocks, viewport metadata, and references embedded assets.
  • A minimal representative page renders through the shared layout.
  • Central helpers render consistent 400, 404, 405, and 500 responses with the correct status and content type.
  • HTML requests receive safe HTML error pages; JSON API requests receive a stable JSON error envelope.
  • Internal error details are logged but never rendered to clients.
  • Tests cover layout composition, escaping, status codes, content negotiation/routing, and malformed error data.
  • make check passes.

Dependencies:

  • Depends on #14.
  • Integrates with recovery behavior from #11.
Establish the shared HTML shell and consistent public error rendering for browser and JSON routes. Acceptance criteria: - A base template provides valid document structure, title/content blocks, viewport metadata, and references embedded assets. - A minimal representative page renders through the shared layout. - Central helpers render consistent 400, 404, 405, and 500 responses with the correct status and content type. - HTML requests receive safe HTML error pages; JSON API requests receive a stable JSON error envelope. - Internal error details are logged but never rendered to clients. - Tests cover layout composition, escaping, status codes, content negotiation/routing, and malformed error data. - `make check` passes. Dependencies: - Depends on #14. - Integrates with recovery behavior from #11.
arne closed this issue 2026-09-05 08:49:44 +02:00
Sign in to join this conversation.
No labels
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
arne/fjomp#15
No description provided.