hi icon indicating copy to clipboard operation
hi copied to clipboard

hi, I'm here to debug your HTTP

Travis CI Coverage Status Code Climate

hi, I'm here to debug your HTTP

chrishunt.co/hi

Usage

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"
    }
}

Installation

$ gem install hi

Contributing

Please see the Contributing Document

Changelog

Please see the Changelog Document

License

Copyright (C) 2013 Chris Hunt, MIT License