fix: error handling override kemal default response

This commit is contained in:
Juan Rodriguez
2024-07-14 11:19:59 +02:00
parent faedd0bc7a
commit 2f14cd82dd
2 changed files with 18 additions and 4 deletions
+18
View File
@@ -1,6 +1,15 @@
require "kemal"
module App
class InternalServerErrorException < Kemal::Exceptions::CustomException
def initialize(context)
context.response.content_type = "application/json"
context.response.status_code = 500
context.response.print({ "error" => "Internal Server Error" }.to_json)
super(context)
end
end
class BadRequestException < Kemal::Exceptions::CustomException
def initialize(context, message : String)
context.response.content_type = "application/json"
@@ -46,3 +55,12 @@ module App
end
end
end
error 500 do |env|
App::InternalServerErrorException.new(env)
""
end
error 404 do |env|
""
end