Module: OopsieExceptions::Context
- Defined in:
- lib/oopsie_exceptions/context.rb
Constant Summary collapse
- THREAD_KEY =
:oopsie_exceptions_context
Class Method Summary collapse
- .clear ⇒ Object
- .current ⇒ Object
- .from_rack_env(env) ⇒ Object
- .merge(hash) ⇒ Object
- .replace(hash) ⇒ Object
Class Method Details
.clear ⇒ Object
22 23 24 |
# File 'lib/oopsie_exceptions/context.rb', line 22 def clear Thread.current[THREAD_KEY] = nil end |
.current ⇒ Object
10 11 12 |
# File 'lib/oopsie_exceptions/context.rb', line 10 def current Thread.current[THREAD_KEY] ||= {} end |
.from_rack_env(env) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/oopsie_exceptions/context.rb', line 26 def from_rack_env(env) request = Rack::Request.new(env) config = OopsieExceptions.configuration request_context = { url: request.url, method: request.request_method, ip: request.ip, user_agent: env["HTTP_USER_AGENT"], referer: env["HTTP_REFERER"], request_id: env["action_dispatch.request_id"] || env["HTTP_X_REQUEST_ID"], headers: extract_headers(env, config) } request_context.merge!(request_params_context(request, config)) request_context.merge!(request_body_context(request, config)) ctx = { request: request_context } ctx end |
.merge(hash) ⇒ Object
14 15 16 |
# File 'lib/oopsie_exceptions/context.rb', line 14 def merge(hash) current.merge!(hash) end |
.replace(hash) ⇒ Object
18 19 20 |
# File 'lib/oopsie_exceptions/context.rb', line 18 def replace(hash) Thread.current[THREAD_KEY] = hash end |