Class: CloseYourIt::Rails::RequestContext

Inherits:
Object
  • Object
show all
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

Constructor Details

#initialize(app) ⇒ RequestContext

Returns a new instance of RequestContext.



13
14
15
# File 'lib/closeyourit/rails/request_context.rb', line 13

def initialize(app)
  @app = app
end

Instance Method Details

#call(env) ⇒ Object



17
18
19
20
21
22
# File 'lib/closeyourit/rails/request_context.rb', line 17

def call(env)
  CloseYourIt::Scope.current.request = build_request(env) if active?
  @app.call(env)
ensure
  CloseYourIt::Scope.reset!
end