Class: Tablesalt::ThreadAccessor::RackMiddleware

Inherits:
Object
  • Object
show all
Defined in:
lib/tablesalt/thread_accessor/rack_middleware.rb

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ RackMiddleware

Returns a new instance of RackMiddleware.



6
7
8
# File 'lib/tablesalt/thread_accessor/rack_middleware.rb', line 6

def initialize(app)
  @app = app
end

Instance Method Details

#call(req) ⇒ Object

Clears thread variables after request is finished processing. Make sure this middleware appears before anything that may set thread variables using ThreadAccessor



13
14
15
# File 'lib/tablesalt/thread_accessor/rack_middleware.rb', line 13

def call(req)
  ThreadAccessor.clean_thread_context(logger: logger) { @app.call(req) }
end

#loggerObject



17
18
19
20
21
# File 'lib/tablesalt/thread_accessor/rack_middleware.rb', line 17

def logger
  return unless @app.respond_to? :logger

  @app.logger
end