Quickly and easily access any RESTful or RESTful-like API.
If you are looking for the SendGrid API client library, please see this repo.
Announcements
The default branch name for this repository has been changed to main
as of 07/27/2020.
All updates to this library are documented in our CHANGELOG.
Table of Contents
Installation
Prerequisites
- Ruby version >= 2.4
Setup Environment Variables
Environment Variable
Update the development environment with your SENDGRID_API_KEY, for example:
echo "export SENDGRID_API_KEY='YOUR_API_KEY'" > sendgrid.env
echo "sendgrid.env" >> .gitignore
source ./sendgrid.env
Install Package
gem install ruby_http_client
Quick Start
GET /your/api/{param}/call
require 'ruby_http_client'
global_headers = {'Authorization' => 'Bearer XXXXXXX' }
client = SendGrid::Client.new(host: 'base_url', request_headers: global_headers)
client.your.api._(param).call.get
puts response.status_code
puts response.body
puts response.headers
POST /your/api/{param}/call
with headers, query parameters and a request body with versioning.
require 'ruby_http_client'
global_headers = {'Authorization' => 'Bearer XXXXXXX' }
client = SendGrid::Client.new(host: 'base_url', request_headers: global_headers)
query_params = { 'hello' => 0, 'world' => 1 }
request_headers = { 'X-Test' => 'test' }
data = { 'some' => 1, 'awesome' => 2, 'data' => 3}
response = client.your.api._(param).call.post(request_body: data,
query_params: query_params,
request_headers: request_headers)
puts response.status_code
puts response.body
puts response.headers
Usage
How to Contribute
We encourage contribution to our libraries, please see our CONTRIBUTING guide for details.
Quick links:
About
ruby-http-client is maintained and funded by Twilio SendGrid, Inc. The names and logos for ruby-http-client are trademarks of Twilio SendGrid, Inc.
If you need help installing or using the library, please check the Twilio SendGrid Support Help Center.
If you've instead found a bug in the library or would like new features added, go ahead and open issues or pull requests against this repo!