Class: CloseYourIt::Rails::RequestContext
- Inherits:
-
Object
- Object
- CloseYourIt::Rails::RequestContext
- Defined in:
- lib/closeyourit/rails/request_context.rb
Overview
Rack middleware: popola lo Scope con il contesto HTTP della richiesta (method/url/header)
così l'evento d'errore catturato a valle sa "in quale pagina" è capitato. Deve avvolgere
CaptureExceptions (insert_before) per essere già popolato quando l'eccezione risale.
Rack puro (legge env, nessuna dipendenza da Rails) → testabile in isolamento.
Constant Summary collapse
- RAW_HEADERS =
Header con prefisso non-HTTP_ in env Rack.
%w[CONTENT_TYPE CONTENT_LENGTH].freeze
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app) ⇒ RequestContext
constructor
A new instance of RequestContext.
Constructor Details
#initialize(app) ⇒ RequestContext
Returns a new instance of RequestContext.
15 16 17 |
# File 'lib/closeyourit/rails/request_context.rb', line 15 def initialize(app) @app = app end |
Instance Method Details
#call(env) ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/closeyourit/rails/request_context.rb', line 19 def call(env) if enabled? # trace_id sempre (correlazione log↔errori), anche con capture_request OFF. CloseYourIt::Scope.current.trace_id = trace_id_for(env) CloseYourIt::Scope.current.request = build_request(env) if CloseYourIt.configuration.capture_request end @app.call(env) ensure CloseYourIt::Scope.reset! end |