Fixes #144 Use cookie jar to prevent infinite redirections loop

This commit is contained in:
erwanlr
2013-04-09 00:25:47 +02:00
parent 3565b25719
commit 333c52ac45
3 changed files with 29 additions and 4 deletions

View File

@@ -180,8 +180,11 @@ class Browser
end
# Disable SSL-Certificate checks
params = params.merge(ssl_verifypeer: false)
params = params.merge(ssl_verifyhost: 0)
params.merge!(ssl_verifypeer: false)
params.merge!(ssl_verifyhost: 0)
params.merge!(cookie_jar: CACHE_DIR + '/cookie-jar')
params.merge!(cookie_file: CACHE_DIR + '/cookie-jar')
params
end

View File

@@ -47,6 +47,20 @@ module Typhoeus
end
end
module Ethon
class Easy
module Options
def cookie_jar=(value)
Curl.set_option(:cookiejar, value_for(value, :string), handle)
end
def cookie_file=(value)
Curl.set_option(:cookiefile, value_for(value, :string), handle)
end
end
end
end
# Override for puts to enable logging
def puts(o = '')
# remove color for logging

View File

@@ -260,8 +260,16 @@ describe Browser do
end
describe '#merge_request_params' do
let(:params) { {} }
let(:default_expectation) { { cache_ttl: 250, headers: { 'User-Agent' => 'SomeUA' }, ssl_verifypeer: false, ssl_verifyhost: 0 } }
let(:params) { {} }
let(:cookie_jar) { CACHE_DIR + '/cookie-jar' }
let(:default_expectation) {
{
cache_ttl: 250,
headers: { 'User-Agent' => 'SomeUA' },
ssl_verifypeer: false, ssl_verifyhost: 0,
cookie_jar: cookie_jar, cookie_file: cookie_jar
}
}
after :each do
@browser.stub(user_agent: 'SomeUA')