http_client
HTTPClient
A HTTP client that transparently pools connections. You can use it anywhere you would use an HTTP::Client
because it is an HTTP::Client
.
Installation
-
Add the dependency to your
shard.yml
:dependencies: http_client: github: jgaskins/http_client
-
Run
shards install
Usage
require "http_client"
http = HTTPClient.new(URI.parse("https://api.example.com"))
http.get "/"
# => #<HTTP::Client::Response:...>
OAuth
Using a pooled HTTP client allows you to use a single OAuth2::Client
instance for your entire app.
require "oauth2"
require "http_client"
EXAMPLE_OAUTH2 = OAuth2::Client.new(
host: "api.example.com",
client_id: ENV["OAUTH2_CLIENT_ID"],
client_secret: ENV["OAUTH2_CLIENT_SECRET"],
redirect_uri: ENV["OAUTH2_REDIRECT_URI"],
)
EXAMPLE_OAUTH2.http_client = HTTPClient.new("https://api.example.com")
Contributing
- Fork it (https://github.com/jgaskins/http_client/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- Jamie Gaskins - creator and maintainer
Repository
http_client
Owner
Statistic
- 5
- 0
- 0
- 0
- 1
- 10 days ago
- July 21, 2024
License
MIT License
Links
Synced at
Sun, 17 Nov 2024 14:08:44 GMT
Languages