Sha256: 24c7cbbd3fe252d86634629857e30d935f9aac6b8d9b35a7a573a269deb0d014
Contents?: true
Size: 1.29 KB
Versions: 5
Compression:
Stored size: 1.29 KB
Contents
module Ethon class Easy module Http def http_request_with_logging(url, action_name, options={}) create_request_event(url, action_name, options) http_request_without_logging(url, action_name, options) end alias_method_chain :http_request, :logging private def create_request_event(url, action_name, options) @request_event = HttpEventLogger::Event::Request.new( method: action_name, uri: url, headers: options[:headers], body: options[:body] ) end end module Operations def perform_with_logging result = nil time_taken_in_seconds = ::Benchmark.realtime do result = perform_without_logging end create_response_event(time_taken_in_seconds) result end alias_method_chain :perform, :logging private def create_response_event(time_taken_in_seconds) HttpEventLogger::Event::Response.new( request: @request_event, time_taken_in_seconds: time_taken_in_seconds, status: response_code, headers: response_headers, body: response_body ) end end end end if defined?(Ethon)
Version data entries
5 entries across 5 versions & 1 rubygems