Class: Net::HTTP

Inherits:
Object
  • Object
show all
Defined in:
lib/susu/http_lib/net_http.rb

Instance Method Summary collapse

Instance Method Details

#connectObject



28
29
30
31
32
# File 'lib/susu/http_lib/net_http.rb', line 28

def connect
  Susu.log_connection(@address, @port) if !started?

  orig_connect
end

#orig_connectObject



4
# File 'lib/susu/http_lib/net_http.rb', line 4

alias_method(:orig_connect, :connect)

#orig_requestObject



3
# File 'lib/susu/http_lib/net_http.rb', line 3

alias_method(:orig_request, :request)

#request(req, body = nil, &block) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/susu/http_lib/net_http.rb', line 6

def request(req, body = nil, &block)

  url = "http://#{@address}:#{@port}#{req.path}"

  bm = Benchmark.realtime do
    @response = orig_request(req, body, &block)
  end
  headers = @response.each_header.collect
  post_params = req.body.nil? || req.body.size == 0 ? body : req.body
  post_params = Rack::Utils.parse_nested_query post_params if post_params.class == String

  if started?
    Susu.log_all(
      req.method, url, @response.code, bm, post_params,
      @response.body, headers,
      @response['Content-Encoding'], @response['Content-Type']
    )
  end

  @response
end