initial commit

This commit is contained in:
2026-10-25 23:19:29 -06:00
commit 5a3e877217
43 changed files with 2780 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
# frozen_string_literal: true
require_relative '../middleware'
require_relative '../environment'
require_relative '../http/error'
module FO::Middleware
module ErrorHandler
extend FO::Middleware
def self.dispatch(request, response, app)
app.call(request.env)
rescue FO::HTTP::Error => e
response
.status(e.status)
.template('error', {status: e.status, message: e.message, error: e})
rescue => e
warn "Uncaught exception: #{e.message}"
warn e.backtrace
message = FO::Environment.is_prod? ?
'Something went very wrong ... please try again later.' :
e.message
response
.status(500)
.template('error', {status: 500, message: message, error: e})
end
end
end