class Cased::HTTP::Client
Public Class Methods
new(url:, api_key:, raise_on_errors: false)
click to toggle source
# File lib/cased/http/client.rb, line 10 def initialize(url:, api_key:, raise_on_errors: false) @raise_on_errors = raise_on_errors @client = ::Faraday.new(url: url) do |conn| conn.headers[:user_agent] = "cased-ruby/v#{Cased::VERSION}" conn.headers[:content_type] = 'application/json' conn.headers[:accept] = 'application/json' conn.headers[:authorization] = "Bearer #{api_key}" conn.request :json conn.response :json, content_type: /\bjson$/ conn.options.timeout = Cased.config.http_read_timeout conn.options.open_timeout = Cased.config.http_open_timeout end end
Public Instance Methods
delete(url = nil, params = nil, headers = nil) { |req| ... }
click to toggle source
# File lib/cased/http/client.rb, line 56 def delete(url = nil, params = nil, headers = nil) request(:delete, url, nil, headers) do |req| req.params.update(params) if params yield req if block_given? end end
get(url = nil, params = nil, headers = nil) { |req| ... }
click to toggle source
Requests without bodies
# File lib/cased/http/client.rb, line 42 def get(url = nil, params = nil, headers = nil) request(:get, url, nil, headers) do |req| req.params.update(params) if params yield req if block_given? end end
head(url = nil, params = nil, headers = nil) { |req| ... }
click to toggle source
# File lib/cased/http/client.rb, line 49 def head(url = nil, params = nil, headers = nil) request(:head, url, nil, headers) do |req| req.params.update(params) if params yield req if block_given? end end
patch(url = nil, body = nil, headers = nil, &block)
click to toggle source
# File lib/cased/http/client.rb, line 36 def patch(url = nil, body = nil, headers = nil, &block) request(:patch, url, body, headers, &block) end
post(url = nil, body = nil, headers = nil, &block)
click to toggle source
# File lib/cased/http/client.rb, line 32 def post(url = nil, body = nil, headers = nil, &block) request(:post, url, body, headers, &block) end
put(url = nil, body = nil, headers = nil, &block)
click to toggle source
Requests with bodies
# File lib/cased/http/client.rb, line 28 def put(url = nil, body = nil, headers = nil, &block) request(:put, url, body, headers, &block) end
trace(url = nil, params = nil, headers = nil) { |req| ... }
click to toggle source
# File lib/cased/http/client.rb, line 63 def trace(url = nil, params = nil, headers = nil) request(:trace, url, nil, headers) do |req| req.params.update(params) if params yield req if block_given? end end
Private Instance Methods
raise_on_errors?()
click to toggle source
# File lib/cased/http/client.rb, line 83 def raise_on_errors? @raise_on_errors end
request(method, url = nil, params_or_body = nil, headers = nil, &block)
click to toggle source
# File lib/cased/http/client.rb, line 72 def request(method, url = nil, params_or_body = nil, headers = nil, &block) response = @client.send(method, url, params_or_body, headers, &block) if !response.success? && raise_on_errors? klass = Cased::HTTP::Error.class_from_response(response) raise klass.from_response(response) else response end end