Sha256: 569a16b908a391d57a7366a701f4ac5f577bb94290f5a44c085adfb9e4a6c53a
Contents?: true
Size: 1.07 KB
Versions: 1
Compression:
Stored size: 1.07 KB
Contents
module WatCatcher class Middleware def initialize(app) @app = app @client = HTTPClient.new @backgrounder = ::WatCatcher::Backgrounder.new end def call(env) @app.call(env) rescue excpt = $! @backgrounder.queue do request = ::Rack::Request.new(env) params = request.params session = request.session.as_json page_url = request.url # Build the clean url (hide the port if it is obvious) url = "#{request.scheme}://#{request.host}" url << ":#{request.port}" unless [80, 443].include?(request.port) url << request.fullpath @client.post("http://localhost:3000/wats", "wat[page_url]" => page_url, "wat[request_params]" => params, "wat[session]" => session, "wat[backtrace][]" => excpt.backtrace.to_a, "wat[message]" => excpt.message, "wat[error_class]" => excpt.class.to_s ) end raise end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
wat_catcher-0.0.1 | lib/wat_catcher/middleware.rb |