AutoResponse - HTTP debugging tool for Linux and Mac
What's auto_response for?
Fiddler is the favor tool of many web developers for debugging HTTP web apps. However it is only available on Windows. AutoResponse ports the most used feature of fiddler, 'auto respond', to Linux and Mac world.
Auto_response acts as a proxy server like Fiddler does, allowing you to modify the content of HTTP response.
Quick start
-
requirements
- *nix system, Mac/Linux
- ruby 1.9+ (may work on 1.8.7, but not very well tested)
-
Install and run
gem install 'auto_response'
auto_resp start
auto_resp status
auto_resp stop
-
Set your browser proxy to 'http://127.0.0.1:9000'
-
Edit the configuration file to modify the urls you want change the response.
By default, the configuration file is located at:
$HOME/.auto_response/rules
Response rules
url "http://www.catchme.com"
r 404
url "http://www.1688.com"
r "Hello world"
url "http://china.alibaba.com"
r [200, {}, "Got replaced"]
url "http://www.yousite.com"
goto "/home/youruser/somefile.txt"
url "http://www.targetsite.com"
goto "http://www.real-request-target.com/test.html"
url "http://www.target-site.com/target-url"
r <<-RESP
Test-Msg : http-header-example
header-server : Auto-Responder
Content-Type : text/html; charset=utf-8
<!Doctype html>
<html><body><h1>Hello world!</h1></body></html>
RESP
url %r{http://pnq\.cc}
r "Any request made to pnq.cc will be responded with this message."
# regular expression and params
url %r{http://anysite\.cc(.*)} do |uri, path|
<<-RESP
Content-Type : text/html; charset=utf-8
<style>
body { font-size: 50pt; }
em { color:
small { color:
</style>
With regular expression, you can do more powerful things. <br/>
You're requesting <em>#{path}</em> <br/>
<small>Server time is #{Time.now} now. </small>
RESP
end
# delay every images with 1 second
url %r{\.(jpe?g|gif|png)$}
delay 1
# use `delay` together with other response, just simple:
url "http://www.delayed.com"
delay 10
r "Delayed with 10 seconds"
TODO:
- GUI monitor showing sessions