Class: HTTPDump
- Inherits:
-
Object
- Object
- HTTPDump
- Defined in:
- lib/http-dump.rb,
lib/http-dump/version.rb
Constant Summary collapse
- VERSION =
"0.0.1"
Class Attribute Summary collapse
-
.output ⇒ Object
Returns the value of attribute output.
-
.quiet_format ⇒ Object
Returns the value of attribute quiet_format.
Class Method Summary collapse
- .disable!(options = {}) ⇒ Object
- .dump(options = {}, &block) ⇒ Object
- .enable!(options = {}) ⇒ Object
- .format(request_signature, response) ⇒ Object
Class Attribute Details
.output ⇒ Object
Returns the value of attribute output.
7 8 9 |
# File 'lib/http-dump.rb', line 7 def output @output end |
.quiet_format ⇒ Object
Returns the value of attribute quiet_format.
7 8 9 |
# File 'lib/http-dump.rb', line 7 def quiet_format @quiet_format end |
Class Method Details
.disable!(options = {}) ⇒ Object
17 18 19 20 21 22 |
# File 'lib/http-dump.rb', line 17 def disable!( = {}) WebMock.reset_callbacks WebMock.disable_net_connect!() WebMock.disable!() @enabled = false end |
.dump(options = {}, &block) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/http-dump.rb', line 24 def dump( = {}, &block) enabled = @enabled enable!() unless enabled block.call ensure disable!() unless enabled end |
.enable!(options = {}) ⇒ Object
8 9 10 11 12 13 14 15 |
# File 'lib/http-dump.rb', line 8 def enable!( = {}) WebMock.enable!() WebMock.allow_net_connect!() WebMock.after_request do |request_signature, response| output.puts self.format(request_signature, response) end @enabled = true end |
.format(request_signature, response) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/http-dump.rb', line 36 def format(request_signature, response) res = [] res << "> #{request_signature}" res << "< #{response.status.join(' ')}" response.headers.each {|key, val| res << "< #{key}: #{val}" } if response.headers body = response.body unless body.empty? res << "<" if quiet_format && body.size > 100 head = body[0..50] res << head.split("\n")[0] res << "* ... Response body is #{body.bytesize} bytes." tail = body[-50..-1] res << tail.split("\n")[-1] else res << body end end res.join("\n") end |