Class: ZendeskAPI::Middleware::Response::ZendeskRequestEvent
- Inherits:
-
Faraday::Middleware
- Object
- Faraday::Middleware
- ZendeskAPI::Middleware::Response::ZendeskRequestEvent
- Defined in:
- lib/zendesk_api/middleware/response/zendesk_request_event.rb
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, options = {}) ⇒ ZendeskRequestEvent
constructor
A new instance of ZendeskRequestEvent.
Constructor Details
#initialize(app, options = {}) ⇒ ZendeskRequestEvent
Returns a new instance of ZendeskRequestEvent.
8 9 10 11 12 |
# File 'lib/zendesk_api/middleware/response/zendesk_request_event.rb', line 8 def initialize(app, = {}) super(app) @instrumentation = [:instrumentation] @logger = [:logger] end |
Instance Method Details
#call(env) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/zendesk_api/middleware/response/zendesk_request_event.rb', line 14 def call(env) return @app.call(env) unless instrumentation start_time = Process.clock_gettime(Process::CLOCK_MONOTONIC) @app.call(env).on_complete do |response_env| stop_time = Process.clock_gettime(Process::CLOCK_MONOTONIC) begin instrument_request(response_env, start_time, stop_time) instrument_rate_limit(response_env) rescue => e logger&.debug("Instrumentation failed: #{e.}") end end end |