HTTParty Cheatsheet
Requests
headers = {
"X-API-KEY" => "#{api_key}",
"Content-Type" => "application/json",
"Authorization" => "Bearer #{access_token}"
}
basic_auth = {
username: ENV['BASIC_AUTH_USERNAME'],
password: ENV['BASIC_AUTH_PASSWORD']
}
payload = {
foo: 'bar'
}
# GET requests
HTTParty.get('https://example.com/api/products', headers: headers)
# The following 2 requests are equivalent
HTTParty.get('https://example.com/api/products', query: {foo: 'bar'})
HTTParty.get('https://example.com/api/products?foo=bar')
# POST requets
HTTParty.post('http://foo.com/resources', body: {foo: 'bar'})
HTTParty.post('https://example.com/api/products', query: {foo: 'bar'})
options = {
body: payload.to_json,
basic_auth: basic_auth
}
HTTParty.post('https://example.com/api/products', options)
Responses
response = HTTParty.post('https://example.com/api/products', options)
#=> {"success"=>true}
response.headers
#=> {...}
response.request
#=> HTTParty::Request object
# Raw response body
response.body
#=> "{\"success\":true}"
# HTTP status check
response.code
#=> 200
response.message
#=> "OK"
response.ok?
#=> true
response.not_found?
#=> false