Switch branches/tags
Nothing to show
Find file
a738db2 May 7, 2009
61 lines (37 sloc) 1.53 KB


Ever wondered what HTTP requests the Ruby gem you are using to connect to a third party API is making? Use HTTP Spy to see what is going on behind the scenes.


sudo gem install martinbtt-net-http-spy

Example Usage

require 'rubygems'
require 'twitter'
gem 'net-http-spy'
require 'net-http-spy''httparty').each { |r| r }
# Outputs...
-- : CONNECT: ["", 80]
-- : GET /search.json?q=httparty
-- : BODY: Net::HTTPOK

See the examples folder for more.

Further Options

Show the call trace to the originating line of code in the third party gem

Net::HTTP.http_logger_options = {:trace => true}

Output the body of the request

Net::HTTP.http_logger_options = {:body => true}

Show the full raw HTTP output

Net::HTTP.http_logger_options = {:verbose => true}

Change the logger. By default HTTP spy logs to STDOUT

Net::HTTP.http_logger ='twitter.log')

Bonus Points

Use it to grab sample data for FakeWeb = testing goodness.


This is a pretty early release. I'm sure there is plenty that can be done to improve compatibility as several libraries call Net::HTTP in a slightly different way. Feel free to fork and send in pull requests/patches.

Find Me

Martin Sadler (martin -- at --