class NxtHttpClient::Logger
Attributes
logger[R]
Public Class Methods
new(logger)
click to toggle source
# File lib/nxt_http_client/logger.rb, line 3 def initialize(logger) @logger = logger end
Public Instance Methods
call(client, request, _response_handler, fire)
click to toggle source
# File lib/nxt_http_client/logger.rb, line 7 def call(client, request, _response_handler, fire) started_at = now error = nil result = nil options = { client: client, started_at: started_at, request: request } begin result = fire.call rescue => e error = e options.merge!(error: e) ensure finished_at = now options.merge!( finished_at: now, elapsed_time_in_milliseconds: finished_at - started_at, response: request.response, http_status: request.response&.code ) end logger.call(options) raise error if error result end
Private Instance Methods
now()
click to toggle source
# File lib/nxt_http_client/logger.rb, line 43 def now Time.current.to_i * 1000 end