em-http-request 1.0.0.beta.2 → 1.0.0.beta.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of em-http-request might be problematic. Click here for more details.

@@ -104,6 +104,8 @@ module EventMachine
104
104
  def proxy?; !@options[:proxy].nil?; end
105
105
  def http_proxy?; proxy? && [nil, :http].include?(@options[:proxy][:type]); end
106
106
 
107
+ def ssl?; @req.uri.scheme == "https" || @req.uri.port == 443; end
108
+
107
109
  def continue?
108
110
  @response_header.status == 100 && (@method == 'POST' || @method == 'PUT')
109
111
  end
@@ -87,7 +87,8 @@ module EventMachine
87
87
 
88
88
  def connection_completed
89
89
  if @opts.proxy && @opts.proxy[:type] == :socks5
90
- socksify(@opts.uri.host, @opts.uri.port, *@opts.proxy[:authorization]) { start }
90
+ socksify(client.req.uri.host, client.req.uri.port, *@opts.proxy[:authorization]) { start }
91
+
91
92
  else
92
93
  start
93
94
  end
@@ -95,7 +96,7 @@ module EventMachine
95
96
 
96
97
  def start
97
98
  ssl = @opts.options[:tls] || @opts.options[:ssl] || {}
98
- start_tls(ssl) if @opts.uri.scheme == "https" or @opts.uri.port == 443
99
+ start_tls(ssl) if client && client.ssl?
99
100
 
100
101
  succeed
101
102
  end
@@ -124,7 +125,12 @@ module EventMachine
124
125
  @clients.pop.close(e.message)
125
126
  end
126
127
  end
127
-
128
128
  end
129
+
130
+ private
131
+
132
+ def client
133
+ @clients.first
134
+ end
129
135
  end
130
136
  end
@@ -1,5 +1,5 @@
1
1
  module EventMachine
2
2
  class HttpRequest
3
- VERSION = "1.0.0.beta.2"
3
+ VERSION = "1.0.0.beta.3"
4
4
  end
5
5
  end
@@ -15,6 +15,18 @@ requires_connection do
15
15
  }
16
16
  end
17
17
 
18
+ it "should follow redirect to https and initiate the handshake" do
19
+ EventMachine.run {
20
+ http = EventMachine::HttpRequest.new('http://analytics.postrank.com/').get :redirects => 5
21
+
22
+ http.errback { failed(http) }
23
+ http.callback {
24
+ http.response_header.status.should == 200
25
+ EventMachine.stop
26
+ }
27
+ }
28
+ end
29
+
18
30
  it "should perform a streaming GET" do
19
31
  EventMachine.run {
20
32
 
data/spec/helper.rb CHANGED
@@ -13,5 +13,5 @@ def failed(http = nil)
13
13
  end
14
14
 
15
15
  def requires_connection(&blk)
16
- blk.call if system('ping -c1 google.com &> /dev/null')
16
+ blk.call if system('ping -t1 -c1 google.com &> /dev/null')
17
17
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: em-http-request
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease: 6
5
- version: 1.0.0.beta.2
5
+ version: 1.0.0.beta.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - Ilya Grigorik
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-03-10 00:00:00 -05:00
13
+ date: 2011-03-12 00:00:00 -05:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency