class FaradayTimingMiddleware::ResponseTime
Public Instance Methods
call(request_env)
click to toggle source
# File lib/faraday_timing_middleware/response_time.rb, line 4 def call(request_env) start! @app.call(request_env).on_complete do |response_env| stop! response_env[:response_headers].merge!({ 'X-Faraday-Runtime' => elapsed_time }) end end
Private Instance Methods
elapsed_time()
click to toggle source
# File lib/faraday_timing_middleware/response_time.rb, line 22 def elapsed_time ((Thread.current[:faraday_request_ends_at] - Thread.current[:faraday_request_starts_at]) * 1000).round(2) end
start!()
click to toggle source
# File lib/faraday_timing_middleware/response_time.rb, line 14 def start! Thread.current[:faraday_request_starts_at] = Time.now end
stop!()
click to toggle source
# File lib/faraday_timing_middleware/response_time.rb, line 18 def stop! Thread.current[:faraday_request_ends_at] = Time.now end