Skip to content

Commit 8ce55f8

Browse files
Merge pull request #397 from ably/396-internet-up-tls-error
[ECO-4767] Fix server certificate validation for HTTP in Realtime
2 parents b89a0e3 + 48d4d9a commit 8ce55f8

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

ably.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
1919
spec.require_paths = ['lib']
2020

2121
spec.add_runtime_dependency 'eventmachine', '~> 1.2.6'
22-
spec.add_runtime_dependency 'em-http-request', '~> 1.1'
22+
spec.add_runtime_dependency 'ably-em-http-request', '~> 1.1.8'
2323
spec.add_runtime_dependency 'statesman', '~> 9.0'
2424
spec.add_runtime_dependency 'faraday', '~> 2.2'
2525
spec.add_runtime_dependency 'faraday-typhoeus', '~> 0.2.0'

lib/ably/realtime/connection.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ def ping(&block)
327327
def internet_up?
328328
url = "http#{'s' if client.use_tls?}:#{Ably::INTERNET_CHECK.fetch(:url)}"
329329
EventMachine::DefaultDeferrable.new.tap do |deferrable|
330-
EventMachine::HttpRequest.new(url, tls: { verify_peer: true }).get.tap do |http|
330+
EventMachine::AblyHttpRequest::HttpRequest.new(url, tls: { verify_peer: true }).get.tap do |http|
331331
http.errback do
332332
yield false if block_given?
333333
deferrable.fail Ably::Exceptions::ConnectionFailed.new("Unable to connect to #{url}", nil, Ably::Exceptions::Codes::CONNECTION_FAILED)

spec/acceptance/realtime/connection_spec.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1702,13 +1702,13 @@ def self.available_states
17021702
end
17031703

17041704
context 'internet up URL protocol' do
1705-
let(:http_request) { double('EventMachine::HttpRequest', get: EventMachine::DefaultDeferrable.new) }
1705+
let(:http_request) { double('EventMachine::AblyHttpRequest::HttpRequest', get: EventMachine::DefaultDeferrable.new) }
17061706

17071707
context 'when using TLS for the connection' do
17081708
let(:client_options) { default_options.merge(tls: true) }
17091709

17101710
it 'uses TLS for the Internet check to https://internet-up.ably-realtime.com/is-the-internet-up.txt' do
1711-
expect(EventMachine::HttpRequest).to receive(:new).with('https://internet-up.ably-realtime.com/is-the-internet-up.txt', { tls: { verify_peer: true } }).and_return(http_request)
1711+
expect(EventMachine::AblyHttpRequest::HttpRequest).to receive(:new).with('https://internet-up.ably-realtime.com/is-the-internet-up.txt', { tls: { verify_peer: true } }).and_return(http_request)
17121712
connection.internet_up?
17131713
stop_reactor
17141714
end
@@ -1718,7 +1718,7 @@ def self.available_states
17181718
let(:client_options) { default_options.merge(tls: false, use_token_auth: true) }
17191719

17201720
it 'uses TLS for the Internet check to http://internet-up.ably-realtime.com/is-the-internet-up.txt' do
1721-
expect(EventMachine::HttpRequest).to receive(:new).with('http://internet-up.ably-realtime.com/is-the-internet-up.txt', { tls: { verify_peer: true } }).and_return(http_request)
1721+
expect(EventMachine::AblyHttpRequest::HttpRequest).to receive(:new).with('http://internet-up.ably-realtime.com/is-the-internet-up.txt', { tls: { verify_peer: true } }).and_return(http_request)
17221722
connection.internet_up?
17231723
stop_reactor
17241724
end
@@ -1732,7 +1732,7 @@ def self.available_states
17321732
let(:client_options) { default_options.merge(tls: true) }
17331733

17341734
it 'checks the Internet up URL over TLS' do
1735-
expect(EventMachine::HttpRequest).to receive(:new).with("https:#{Ably::INTERNET_CHECK.fetch(:url)}", { tls: { verify_peer: true } }).and_return(double('request', get: EventMachine::DefaultDeferrable.new))
1735+
expect(EventMachine::AblyHttpRequest::HttpRequest).to receive(:new).with("https:#{Ably::INTERNET_CHECK.fetch(:url)}", { tls: { verify_peer: true } }).and_return(double('request', get: EventMachine::DefaultDeferrable.new))
17361736
connection.internet_up?
17371737
stop_reactor
17381738
end
@@ -1742,7 +1742,7 @@ def self.available_states
17421742
let(:client_options) { default_options.merge(tls: false, use_token_auth: true) }
17431743

17441744
it 'checks the Internet up URL over TLS' do
1745-
expect(EventMachine::HttpRequest).to receive(:new).with("http:#{Ably::INTERNET_CHECK.fetch(:url)}", { tls: { verify_peer: true } }).and_return(double('request', get: EventMachine::DefaultDeferrable.new))
1745+
expect(EventMachine::AblyHttpRequest::HttpRequest).to receive(:new).with("http:#{Ably::INTERNET_CHECK.fetch(:url)}", { tls: { verify_peer: true } }).and_return(double('request', get: EventMachine::DefaultDeferrable.new))
17461746
connection.internet_up?
17471747
stop_reactor
17481748
end

0 commit comments

Comments
 (0)