1
0
Fork 0
mirror of https://github.com/jnunemaker/httparty synced 2023-03-27 23:23:07 -04:00
🎉 Makes http fun again!
Find a file
John Nunemaker 61ade85eae Assertion is enough to test that error doesn't happen
If the code to prevent this is removed then an exception will be raised
which will fail the test.
2015-12-01 15:32:27 -05:00
bin Output httparty version at command line with --version 2015-07-08 11:23:36 -04:00
docs Adds docs directory with SSL configuration help 2015-11-21 16:28:34 -06:00
examples fix cookie bug in tripit-sign-in example 2015-10-27 23:21:56 +08:00
features Merge pull request #444 from JonMidhir/implement_is_a_in_httparty_response 2015-11-16 08:54:55 -05:00
lib Merge pull request #448 from commel/master 2015-12-01 15:29:47 -05:00
script Added script/release. 2013-10-10 11:34:05 -04:00
spec Assertion is enough to test that error doesn't happen 2015-12-01 15:32:27 -05:00
website Changing symbol syntax inside hashes - take 2 2014-05-15 16:45:32 -04:00
.gitignore add code coverage 2014-11-28 18:06:18 +03:00
.rubocop.yml Adds rubocop configuration 2015-04-24 07:23:24 +02:00
.rubocop_todo.yml Adds rubocop configuration 2015-04-24 07:23:24 +02:00
.simplecov add code coverage 2014-11-28 18:06:18 +03:00
.travis.yml Remove ree and 1.8 from travis. 2014-01-06 17:45:50 -05:00
CONTRIBUTING.md Create CONTRIBUTING.md 2015-05-30 07:52:30 -04:00
cucumber.yml Progress format for cucumber. 2012-04-16 00:21:27 -04:00
Gemfile fix bin/httparty + cucumber tests for it 2014-12-17 18:43:09 +03:00
Guardfile Mitigates Style/TraillingComma 2015-04-18 01:29:25 +02:00
History Release 0.13.7 2015-09-23 08:08:40 -04:00
httparty.gemspec Remove high-byte emoji from post-install message 2015-09-22 14:24:47 -07:00
MIT-LICENSE Removing .txt from files (it has always annoyed me). Boo Windows! 2008-12-05 17:11:58 -05:00
Rakefile Bump RSpec from 1.3 to 3.1 2014-12-06 16:10:24 -08:00
README.md Adds docs directory with SSL configuration help 2015-11-21 16:28:34 -06:00

httparty

Makes http fun again!

Install

gem install httparty

Requirements

  • Ruby 1.9.3 or higher
  • multi_xml
  • You like to party!

Examples

# Use the class methods to get down to business quickly
response = HTTParty.get('http://api.stackexchange.com/2.2/questions?site=stackoverflow')

puts response.body, response.code, response.message, response.headers.inspect

# Or wrap things up in your own class
class StackExchange
  include HTTParty
  base_uri 'api.stackexchange.com'

  def initialize(service, page)
    @options = { query: {site: service, page: page} }
  end

  def questions
    self.class.get("/2.2/questions", @options)
  end

  def users
    self.class.get("/2.2/users", @options)
  end
end

stack_exchange = StackExchange.new("stackoverflow", 1)
puts stack_exchange.questions
puts stack_exchange.users

See the examples directory for even more goodies.

Command Line Interface

httparty also includes the executable httparty 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 httparty --help for all the options. Below is an example of how easy it is.

httparty "https://api.stackexchange.com/2.2/questions?site=stackoverflow"

Help and Docs

Contributing

  • Fork the project.
  • Run bundle
  • Run bundle exec rake
  • 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.
  • Run bundle exec rake (No, REALLY :))
  • 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.