1
0
Fork 0
mirror of https://github.com/jnunemaker/httparty synced 2023-03-27 23:23:07 -04:00

Merge branch 'openssl-ciphers2' of https://github.com/where/httparty into where-openssl-ciphers2

Conflicts:
	spec/httparty/connection_adapter_spec.rb
This commit is contained in:
John Nunemaker 2013-01-02 16:11:11 -05:00
commit a936eaab93
4 changed files with 35 additions and 1 deletions

View file

@ -299,7 +299,7 @@ module HTTParty
default_options[:query_string_normalizer] = normalizer default_options[:query_string_normalizer] = normalizer
end end
# Allows setting of SSL version to use. This only works in Ruby 1.9. # Allows setting of SSL version to use. This only works in Ruby 1.9+.
# You can get a list of valid versions from OpenSSL::SSL::SSLContext::METHODS. # You can get a list of valid versions from OpenSSL::SSL::SSLContext::METHODS.
# #
# class Foo # class Foo
@ -310,6 +310,19 @@ module HTTParty
default_options[:ssl_version] = version default_options[:ssl_version] = version
end end
# Allows setting of SSL ciphers to use. This only works in Ruby 1.9+.
# You can get a list of valid specific ciphers from OpenSSL::Cipher.ciphers.
# You also can specify a cipher suite here, listed here at openssl.org:
# http://www.openssl.org/docs/apps/ciphers.html#CIPHER_SUITE_NAMES
#
# class Foo
# include HTTParty
# ciphers "RC4-SHA"
# end
def ciphers(cipher_names)
default_options[:ciphers] = cipher_names
end
# Allows setting an OpenSSL certificate authority file # Allows setting an OpenSSL certificate authority file
# #
# class Foo # class Foo

View file

@ -81,6 +81,10 @@ module HTTParty
http.set_debug_output(options[:debug_output]) http.set_debug_output(options[:debug_output])
end end
if options[:ciphers]
http.ciphers = options[:ciphers]
end
return http return http
end end

View file

@ -78,6 +78,7 @@ describe HTTParty::ConnectionAdapter do
it { should use_ssl } it { should use_ssl }
end end
context "when ssl version is set" do context "when ssl version is set" do
let(:options) { {:ssl_version => :TLSv1} } let(:options) { {:ssl_version => :TLSv1} }
@ -95,6 +96,14 @@ describe HTTParty::ConnectionAdapter do
end end
end end
context "specifying ciphers" do
let(:options) { {:ciphers => 'RC4-SHA' } }
it "should set the ciphers on the connection" do
subject.ciphers.should == 'RC4-SHA'
end
end if RUBY_VERSION > '1.9'
context "when timeout is not set" do context "when timeout is not set" do
it "doesn't set the timeout" do it "doesn't set the timeout" do
http = mock("http", :null_object => true) http = mock("http", :null_object => true)

View file

@ -45,6 +45,14 @@ describe HTTParty do
end end
end end
describe 'ciphers' do
it 'should set the ciphers content' do
@klass.default_options[:ciphers].should be_nil
@klass.ciphers 'RC4-SHA'
@klass.default_options[:ciphers].should == 'RC4-SHA'
end
end
describe 'http_proxy' do describe 'http_proxy' do
it 'should set the address' do it 'should set the address' do
@klass.http_proxy 'proxy.foo.com', 80 @klass.http_proxy 'proxy.foo.com', 80