lib/almodovar/http_client.rb in almodovar-1.5.5 vs lib/almodovar/http_client.rb in almodovar-1.6.0

- old
+ new

@@ -1,5 +1,6 @@ +require 'addressable/uri' require 'httpclient' module Almodovar class HttpClient attr_accessor :client, @@ -11,30 +12,30 @@ delegate :agent_name=, :connect_timeout=, :send_timeout=, :receive_timeout=, :force_basic_auth=, - :to => :client + to: :client def initialize @client = HTTPClient.new end - def get(uri, headers = {}) - request(:get, uri, :headers => merge_headers(headers)) + def get(uri, query = {}, headers = {}) + request(:get, uri, query: query, headers: merge_headers(headers)) end - def post(uri, data, headers = {}) - request(:post, uri, :body => data, :headers => merge_headers(headers)) + def post(uri, data, query = {}, headers = {}) + request(:post, uri, body: data, query: query, headers: merge_headers(headers)) end - def put(uri, data, headers = {}) - request(:put, uri, :body => data, :headers => merge_headers(headers)) + def put(uri, data, query = {}, headers = {}) + request(:put, uri, body: data, query: query, headers: merge_headers(headers)) end - def delete(uri, headers = {}) - request(:delete, uri, :headers => merge_headers(headers)) + def delete(uri, query = {}, headers = {}) + request(:delete, uri, query: query, headers: merge_headers(headers)) end private def merge_headers(headers) @@ -66,15 +67,21 @@ client.set_auth(domain, username, password) end end def request(method, uri, options = {}) - uri = URI.parse(URI.escape(URI.unescape(uri))) + uri = Addressable::URI.parse(uri) if (requires_auth?) domain = domain_for(uri) set_client_auth(domain) end - client.request(method, uri, :body => options[:body], :header => options[:headers].stringify_keys || {}, :follow_redirect => true) + request_options = { + body: options[:body], + header: options[:headers].stringify_keys || {}, + follow_redirect: true + } + request_options[:query] = options[:query] if options[:query].present? + client.request(method, uri, request_options) rescue HTTPClient::SendTimeoutError => e raise SendTimeoutError.new(e) rescue HTTPClient::ReceiveTimeoutError => e raise ReceiveTimeoutError.new(e) rescue HTTPClient::ConnectTimeoutError => e