Proxy that logs full HTTP request and response. Obviously things like Fiddler etc exist and are very good, but this is really for seeing what's going wrong when making API calls from a client.
To use, run ./proxy.py (takes an optional port argument).
From the client side, set the proxy using export HTTP_PROXY=http://localhost:8000/ (assuming default port).
Or just do:
HTTP_PROXY=http://localhost:8000/ curl -v http://bot.whatismyipaddress.com/ You'll get something like this:
*** REQUEST *** GET http://bot.whatismyipaddress.com/ Host = bot.whatismyipaddress.com Proxy-Connection = Keep-Alive Accept = */* User-Agent = curl/7.30.0 *** END REQUEST *** *** RESPONSE *** 200 OK Content-Length = 14 X-Powered-By = PHP/5.3.28 Vary = Accept-Encoding Keep-Alive = timeout=15, max=100 Ms-Author-Via = DAV Server = Apache/2.2.26 (Unix) DAV/2 PHP/5.3.28 mod_ssl/2.2.26 OpenSSL/0.9.8za Connection = Keep-Alive Date = Sat, 13 Dec 2014 08:31:42 GMT Content-Type = text/html 122.149.212.59 *** END RESPONSE ***