2012-10-29 14 views

Odpowiedz

4

Sprawdź specyfikacje:

https://github.com/jnunemaker/httparty/blob/82a90c1b93b076f9d2d7410123c2b5d609401a1f/spec/httparty/request_spec.rb#L41

Oczekuje się, że docelowy adres URL, aby korzystać z portu 443. Wystarczy dodając :443 na końcu tarczy URI powinno być tyle, aby HTTParty Używaj SSL.

Nawiasem mówiąc, adresy URL HTTPS również będą korzystać z protokołu SSL.

Przykłady:

http://foo.com  => no SSL 
https://foo.com => SSL 
http://foo.com:443 => SSL 
+0

+1. Najlepiej podać 'https: //' w adresie URL, ponieważ port będzie domyślnie 443 automatycznie. –

+0

Uzgodniono z @MarkThomas. Dobrze wiedzieć, że i tak możesz z nich korzystać. – robertodecurnex

3

To faktycznie korzysta z HTTPS domyślnie, chyba że port jest 80, a wniosek jest HTTP:

context "using port 80" do 
    let(:uri) { URI 'http://foobar.com' } 
    it { should_not use_ssl } 
end 

context "using port 443 for ssl" do 
    let(:uri) { URI 'https://api.foo.com/v1:443' } 
    it { should use_ssl } 
end 

context "https scheme with default port" do 
    it { should use_ssl } 
end 

context "https scheme with non-standard port" do 
    let(:uri) { URI 'https://foobar.com:123456' } 
    it { should use_ssl } 
end 

https://github.com/jnunemaker/httparty/blob/master/spec/httparty/connection_adapter_spec.rb

Oto moja specyfikacja:

describe Foo do 
    it 'is https' do 
    adapter = HTTParty::ConnectionAdapter.new(URI(subject.base_uri)) 
    expect(adapter.connection.use_ssl?).to eq(true) 
    end 
end