Sha256: 52dfbe98b2529362c0b56339e0ba8988640a4c6978ad1fb48fdfe601560ab32d
Contents?: true
Size: 1.19 KB
Versions: 1
Compression:
Stored size: 1.19 KB
Contents
module Caliper module AppError def self.create(exception, request_env) return unless Caliper.config[:enabled] req = ::Rack::Request.new(request_env) remote_ip = request_env["action_dispatch.remote_ip"] remote_ip = remote_ip.first if remote_ip.is_a?(Array) error_attributes = { "message" => exception.message, "class_name" => exception.class.name, "host" => Socket.gethostname, "request_data" => { "http_method" => request_env["REQUEST_METHOD"], "uri" => request_env["REQUEST_URI"], "path" => request_env["PATH_INFO"], "remote_ip" => "#{remote_ip}", "parameters" => req.params, "session_data" => req.session, "HTTP_USER_AGENT" => request_env["HTTP_USER_AGENT"], "HTTP_HOST" => request_env["HTTP_HOST"], "HTTP_X_REAL_IP" => request_env["HTTP_X_REAL_IP"], "HTTP_X_FORWARDED_FOR" => request_env["HTTP_X_FORWARDED_FOR"] } } error_attributes["backtrace"] = exception.backtrace.join("\n") if exception.backtrace CaliperApi.create_error( Yajl::Encoder.encode({"error" => error_attributes}) ) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
caliper-0.0.2 | lib/caliper/app_error.rb |