module HTTPClient::DebugSocket
Module for intercepting Socket methods and dumps in/out to given debugging device. debug_dev must respond to <<.
Public Instance Methods
<<(str)
click to toggle source
Calls superclass method
# File lib/httpclient/session.rb, line 498 def <<(str) super debug(str) end
close()
click to toggle source
Calls superclass method
# File lib/httpclient/session.rb, line 475 def close super debug("! CONNECTION CLOSED\n") end
debug_dev=(debug_dev)
click to toggle source
# File lib/httpclient/session.rb, line 471 def debug_dev=(debug_dev) @debug_dev = debug_dev end
gets(*args)
click to toggle source
Calls superclass method
# File lib/httpclient/session.rb, line 480 def gets(*args) str = super debug(str) str end
read(*args)
click to toggle source
Calls superclass method
# File lib/httpclient/session.rb, line 486 def read(*args) str = super debug(str) str end
readpartial(*args)
click to toggle source
Calls superclass method
# File lib/httpclient/session.rb, line 492 def readpartial(*args) str = super debug(str) str end
Private Instance Methods
debug(str)
click to toggle source
# File lib/httpclient/session.rb, line 505 def debug(str) if str && @debug_dev if str.index("\0") require 'hexdump' str.force_encoding('BINARY') if str.respond_to?(:force_encoding) @debug_dev << HexDump.encode(str).join("\n") else @debug_dev << str end end end