From 17fe69171009edc427397b7adbf3bbd86bc5ff5c Mon Sep 17 00:00:00 2001 From: Sdogruyol Date: Sun, 29 Nov 2015 17:32:31 +0200 Subject: [PATCH] Add 500 template --- src/kemal/handler.cr | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/src/kemal/handler.cr b/src/kemal/handler.cr index 26dbd9b..274a9ad 100644 --- a/src/kemal/handler.cr +++ b/src/kemal/handler.cr @@ -28,18 +28,18 @@ class Kemal::Handler < HTTP::Handler body = route.handler.call(context).to_s return HTTP::Response.new(context.status_code, body, context.response_headers) rescue ex - return HTTP::Response.error("text/plain", ex.to_s) + return render_500(ex.to_s) end end end unless @match - return HTTP::Response.new(404, not_found) + return render_404 end nil end - def not_found - <<-HTML + def render_404 + template = <<-HTML @@ -55,5 +55,26 @@ class Kemal::Handler < HTTP::Handler HTML + HTTP::Response.new(404, template) + end + + def render_500(ex) + template = <<-HTML + + + + + + +

Kemal has encountered an error. (500)

+

#{ex}

+ + + HTML + HTTP::Response.error("text/html", template) end end