parallel_http 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/parallel_http.rb +13 -8
  2. metadata +2 -2
data/lib/parallel_http.rb CHANGED
@@ -10,27 +10,32 @@ class ParallelHttp
10
10
  else
11
11
  EM.run do
12
12
  requests.each do |request|
13
- result = self.single(request)
13
+ ParallelHttp.single(request)
14
14
  end
15
15
  end
16
16
  end
17
17
  @@results
18
18
  end
19
19
 
20
- def self.exec_result id, result
20
+ def self.exec_result id, result, error=nil
21
21
  body = result.response.force_encoding('UTF-8').encode('UTF-16', :invalid => :replace, :replace => '').encode('UTF-8')
22
- @@results << {:id => id, :response_code => result.response_header.status, :body => body}
23
- EM.stop if @@request_size == @@results.size
22
+ hsh = {:id => id, :response_code => result.response_header.status, :body => body}
23
+ hsh.merge!(:error => error) if error
24
+ @@results << hsh
25
+ if @@request_size == @@results.size
26
+ EM.stop
27
+ end
24
28
  end
25
29
 
26
30
  def self.single request
27
31
  # puts "making a request #{request[:url]}, #{request[:verb]}, #{request[:options]}"
28
- http = EventMachine::HttpRequest.new(request[:url]).send(request[:verb].downcase, request[:options] || {})
32
+ opts = request[:options] || {}
33
+ http = EventMachine::HttpRequest.new(request[:url]).send(request[:verb].downcase, opts)
29
34
  http.callback do
30
- self.exec_result(request[:id], http)
35
+ ParallelHttp.exec_result(request[:id], http)
31
36
  end
32
- http.errback do
33
- self.exec_result(request[:id], http)
37
+ http.errback do |error|
38
+ ParallelHttp.exec_result(request[:id], http, error)
34
39
  end
35
40
  end
36
41
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parallel_http
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-06 00:00:00.000000000 Z
12
+ date: 2013-02-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: eventmachine