Sha256: e41bc4704dd2cd53053aa016114c94830663ecc6c618348d4a964bff31bfd8f9
Contents?: true
Size: 661 Bytes
Versions: 1
Compression:
Stored size: 661 Bytes
Contents
module Pliny::Middleware class RescueErrors def initialize(app, options = {}) @app = app @raise = options[:raise] end def call(env) @app.call(env) rescue Pliny::Errors::Error => e render(e, env) rescue Exception => e if @raise raise else # Pliny.log_exception(e) render(Pliny::Errors::InternalServerError.new, env) end end private def render(e, env) headers = { "Content-Type" => "application/json; charset=utf-8" } error = { id: e.id, message: e.message, status: e.status } [e.status, headers, [MultiJson.encode(error)]] end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pliny-0.0.4 | lib/pliny/middleware/rescue_errors.rb |