Sha256: e3b2b1160b7566ad60bcca2a5ed8212176a2af91e291fe93f798049a24cda64a
Contents?: true
Size: 1.91 KB
Versions: 3
Compression:
Stored size: 1.91 KB
Contents
unless ENV['BINNACLE_RB_ENVIRONMENT'] == 'test' if defined?(::HTTP::Client) and defined?(::HTTP::Connection) require 'uri' module ::HTTP class Client alias_method(:orig_make_request, :make_request) unless method_defined?(:orig_make_request) def make_request(req, options) log_enabled = Binnacle::HttpLogger.allow?(req.uri) bm = Benchmark.realtime do @response = orig_make_request(req, options) end if log_enabled headers = @response.headers.to_h content_type = headers['Content-Type'] uri = URI(req.uri) url_without_query = "#{uri.scheme}://#{uri.host}:#{uri.port}#{uri.path}" Binnacle::HttpLogger.signal(url_without_query, req.verb, uri.host, uri.port, uri.path, uri.query, @response.code, bm, headers, @response.body, nil, content_type, req.body) end @response end end end end end # # Adapt the adapter to allow for testing.. # if ENV['BINNACLE_RB_ENVIRONMENT'] == 'test' #defined?(Webmock) && require 'webmock' module HTTP class Client alias_method :orig_perform, :perform def perform(request, options) return orig_perform(request, options) unless webmock_enabled? log_enabled = Binnacle::HttpLogger.allow?(request.uri) bm = Benchmark.realtime do @response = WebMockPerform.new(request) { orig_perform(request, options) }.exec end if log_enabled headers = @response.headers.to_h uri = URI(request.uri) url_without_query = "#{uri.scheme}://#{uri.host}:#{uri.port}#{uri.path}" Binnacle::HttpLogger.signal(url_without_query, request.verb, uri.host, uri.port, uri.path, uri.query, @response.code, bm, headers, @response.body, headers['Content-Encoding'], headers['Content-Type'], request.body) end @response end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
binnacle-0.5.0 | lib/binnacle/http_logging/adapters/http.rb |
binnacle-0.4.9 | lib/binnacle/http_logging/adapters/http.rb |
binnacle-0.4.8 | lib/binnacle/http_logging/adapters/http.rb |