gem install hi
Hi, I'm here to help you debug your HTTP. To get started, install me.
$ gem install hi
Now start me up:
$ hi >> Thin web server (v1.5.1 codename Straight Razor) >> Maximum connections set to 1024 >> Listening on 0.0.0.0:3000, CTRL+C to stop
If you don't like my default port, try something else:
$ hi 1234 >> Thin web server (v1.5.1 codename Straight Razor) >> Maximum connections set to 1024 >> Listening on 0.0.0.0:1234, CTRL+C to stop
Let's start debugging! Just send a request my way and I'll tell you everything I know about it.
$ curl localhost:3000/foo/bar\?message=hello "GET http://localhost:3000/foo/bar?message=hello (2013-12-27 14:18:16 -0800)" { :host => "localhost", :ip => "127.0.0.1", :port => 3000, :request_method => "GET", :scheme => "http", :url => "http://localhost:3000/foo/bar?message=hello", :query_string => "message=hello", :body => "", :content_length => nil, :media_type => nil, :referer => nil, :user_agent => "curl/7.30.0", :xhr => false, :headers => { "HTTP_VERSION" => "HTTP/1.1", "HTTP_USER_AGENT" => "curl/7.30.0", "HTTP_HOST" => "localhost:3000", "HTTP_ACCEPT" => "*/*" } }
The fancier your request, the better.
$ curl -H 'X-Requested-With: XMLHttpRequest' -d"message=hello" localhost:3000 "POST http://localhost:3000/ (2013-12-27 14:19:24 -0800)" { :host => "localhost", :ip => "127.0.0.1", :port => 3000, :request_method => "POST", :scheme => "http", :url => "http://localhost:3000/", :query_string => "", :body => "message=hello", :content_length => "13", :media_type => "application/x-www-form-urlencoded", :referer => nil, :user_agent => "curl/7.30.0", :xhr => true, :headers => { "HTTP_VERSION" => "HTTP/1.1", "HTTP_USER_AGENT" => "curl/7.30.0", "HTTP_HOST" => "localhost:3000", "HTTP_ACCEPT" => "*/*", "HTTP_X_REQUESTED_WITH" => "XMLHttpRequest" } }
Am I missing something? Feel free to send a pull request my way.