httpotato¶ ↑
Makes http fun AND fast!
Note on Releases¶ ↑
Releases are tagged on github and also released as gems on github and rubyforge. Master is pushed to whenever I add a patch or a new feature. To build from master, you can clone the code, generate the updated gemspec, build the gem and install.
-
rake gemspec
-
gem build httpotato.gemspec
-
gem install the gem that was built
Note on Patches/Pull Requests¶ ↑
-
Fork the project.
-
Make your feature addition or bug fix.
-
Add tests for it. This is important so I don’t break it in a future version unintentionally.
-
Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself in another branch so I can ignore when I pull)
-
Send me a pull request. Bonus points for topic branches.
Features:¶ ↑
-
Easy get, post requests
-
Basic http authentication
-
Default request query string parameters (ie: for api keys that are needed on each request)
-
Automatic parsing of JSON and XML into ruby hashes based on response content-type
Examples¶ ↑
See github.com/dnclabs/httpotato/tree/master/examples
Command Line Interface¶ ↑
httpotato also includes the executable httpotato
which can be used to query web services and examine the resulting output. By default it will output the response as a pretty-printed Ruby object (useful for grokking the structure of output). This can also be overridden to output formatted XML or JSON. Execute httpotato --help
for all the options. Below is an example of how easy it is.
httpotato "http://twitter.com/statuses/public_timeline.json"
Requirements¶ ↑
-
Crack github.com/jnunemaker/crack/ - For XML parsing.
-
JSON github.com/flori/json - For fast JSON parsing. Crack converts it to YAML first and is very slow. Huh?
-
You like performance (and potatoes)!
Install¶ ↑
-
sudo gem install httpotato