diff --git a/lib/unirest.rb b/lib/unirest.rb index ce5e8e2..d6ac7df 100644 --- a/lib/unirest.rb +++ b/lib/unirest.rb @@ -51,7 +51,6 @@ def self.request(method, url, headers, body, auth, timeout, &callback) def self.internal_request(http_request, timeout) # Set the user agent http_request.add_header("user-agent", Unirest.user_agent) - http_request.add_header("accept-encoding", "gzip") http_response = nil @@ -119,4 +118,4 @@ def self.patch(url, headers: {}, parameters: nil, auth:nil, &callback) HttpClient.request(:patch, url, headers.merge(@@default_headers), parameters, auth, @@timeout, &callback) end -end \ No newline at end of file +end diff --git a/lib/unirest/http_request.rb b/lib/unirest/http_request.rb index e217e44..3e2acac 100644 --- a/lib/unirest/http_request.rb +++ b/lib/unirest/http_request.rb @@ -57,11 +57,13 @@ def initialize(method, url, headers = {}, body = nil, auth = nil) @body = body end - unless url =~ URI.regexp + begin + Addressable::URI.parse url + rescue Addressable::URI::InvalidURIError raise "Invalid URL: #{url}" end - @url = url.gsub /\s+/, '%20' + @url = url.gsub(/\s+/, '%20') @headers = {} diff --git a/unirest.gemspec b/unirest.gemspec index 974206e..569cc67 100644 --- a/unirest.gemspec +++ b/unirest.gemspec @@ -8,11 +8,11 @@ Gem::Specification.new do |s| s.homepage = 'https://github.com/Mashape/unirest-ruby' s.license = 'MIT' - s.add_dependency('rest-client', '~> 1.8.0') - s.add_dependency('json', '~> 1.8.1') - s.add_dependency('addressable', '~> 2.3.5') + s.add_dependency('rest-client', '~> 1.8') + s.add_dependency('json', '~> 1.8') + s.add_dependency('addressable', '~> 2.3') - s.add_development_dependency('shoulda', '~> 3.5.0') + s.add_development_dependency('shoulda', '~> 3.5') s.add_development_dependency('test-unit') s.add_development_dependency('rake')