simple-http
A really simple HTTP client
-
GET, POST, PUT, DELETE
require "simple/http" http_client = Simple::HTTP.new http_client.get "http://google.com" # returns a string
-
Exceptions on errors: because, after all, when you consume a HTTP endpoint and don't get a success (20x), then this is an error. Handle it!
require "simple/http" http_client = Simple::HTTP.new begin http_client.get "http://google.com" # returns a string rescue Simple::HTTP::Error STDERR.puts "Ooops! #{$!}" end
-
Caching
require "simple/http" http_client = Simple::HTTP.new require "active_support/cache" require "active_support/cache/file_store" http_client.cache = ActiveSupport::Cache::FileStore.new("var/cache") http_client.get "http://google.com" # returns a, potentially, cached string
-
Automatic de/encoding of JSON payloads
-
Does not requires anything except core ruby classes.