emmy-http-client 0.1.8 → 0.1.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3f09132d4635069e25e3f3fb0696d6bce46af748
4
- data.tar.gz: 526ca185eaeeccb43eced27d93af59ada4e34d10
3
+ metadata.gz: 0817f9c453e0652d1a0911177cca1feb40a2a9a2
4
+ data.tar.gz: f303d956e687752b0bf90649a9bdb0fe3b8f5fa1
5
5
  SHA512:
6
- metadata.gz: 5cbb8c57397146cc7356e8fa9a70c581952a78e2d835285f1d3971a6cbc4bdb86f5ebd729a6b9954eacfa89854535f7ec826fe089ba8d651db234e75743227fd
7
- data.tar.gz: 583937c63e3e098020d8e4101ef96b4b0565bf15720bf488492fb1d9a5cc0cdee63eb9067666bc9b07f66d8a799e12776725c7cd9a22151afa55045bd9e703bb
6
+ metadata.gz: 32dc9b70af63d31f3f108520035d5c60224d8711ef8f643c7c7513fbb9796b1010e71ec2f9d2249e21c4aa603ee8c6189482f3ecf7d9e6e68e1425f5e92b9447
7
+ data.tar.gz: 7b892786b160e6907b41d92b2b7d5d320554026f7c9a762f966165aad9ef6b704f8f5418093e1cfa5c4b44bd66e9e018170aa62be61d0e3a40b87820e0d9fff2
@@ -29,4 +29,5 @@ Gem::Specification.new do |spec|
29
29
  spec.add_development_dependency "eventmachine", ">= 1.0.7"
30
30
  spec.add_development_dependency "bundler", "~> 1.9"
31
31
  spec.add_development_dependency "rake", "~> 10.0"
32
+ spec.add_development_dependency "rspec", "~> 3"
32
33
  end
@@ -0,0 +1,3 @@
1
+
2
+ gem 'emmy'
3
+ gem 'emmy-http-client', path: '../'
@@ -0,0 +1,43 @@
1
+ PATH
2
+ remote: ../
3
+ specs:
4
+ emmy-http-client (0.1.9)
5
+ addressable (>= 2.3.8)
6
+ emmy-machine (~> 0.1.7)
7
+ event_object (~> 0.9.1)
8
+ fibre (~> 0.9.7)
9
+ http_parser.rb (= 0.6.0)
10
+
11
+ GEM
12
+ specs:
13
+ addressable (2.3.8)
14
+ emmy (0.2.3)
15
+ emmy-engine (~> 0.1)
16
+ eventmachine (~> 1.0)
17
+ emmy-engine (0.2.8)
18
+ emmy-http (~> 0.2)
19
+ emmy-http-client (~> 0.1)
20
+ emmy-machine (~> 0.1)
21
+ emmy-http (0.2.8)
22
+ addressable (~> 2.3)
23
+ emmy-machine (~> 0.1)
24
+ event_object (~> 0.9)
25
+ fibre (~> 0.9)
26
+ model_pack (~> 0.9)
27
+ util_pack (~> 0.1)
28
+ emmy-machine (0.1.12)
29
+ fibre (~> 0.9.9)
30
+ event_object (0.9.4)
31
+ eventmachine (1.0.7)
32
+ fibre (0.9.14)
33
+ event_object (>= 0.9)
34
+ http_parser.rb (0.6.0)
35
+ model_pack (0.9.10)
36
+ util_pack (0.1.0)
37
+
38
+ PLATFORMS
39
+ ruby
40
+
41
+ DEPENDENCIES
42
+ emmy
43
+ emmy-http-client!
@@ -0,0 +1,19 @@
1
+ require 'bundler/setup'
2
+ require 'emmy'
3
+
4
+ Emmy.run_block do
5
+ request = Emmy::Http.request(
6
+ type: 'GET',
7
+ url: 'http://localhost:3003',
8
+ path: '/ping',
9
+ timeouts: { connect: 5, inactivity: 20}
10
+ )
11
+
12
+ puts "#{request.type} #{request.real_url}"
13
+
14
+ response = request.sync
15
+
16
+ puts "RESPONSE #{response.status}"
17
+ puts response.headers
18
+ puts response.body
19
+ end
@@ -36,7 +36,6 @@ module EmmyHttp
36
36
 
37
37
  conn.pending_connect_timeout = request.timeouts.connect
38
38
  conn.comm_inactivity_timeout = request.timeouts.inactivity
39
-
40
39
  attach(conn)
41
40
 
42
41
  parser.on :head do |headers|
@@ -71,20 +70,12 @@ module EmmyHttp
71
70
  end
72
71
 
73
72
  def data(chunk)
74
- begin
75
- parser << chunk
76
- rescue EmmyHttp::ParserError => e
77
- stop(e.message)
78
- end
73
+ parser << chunk
74
+ rescue EmmyHttp::ParserError => e
75
+ stop(e.message)
79
76
  end
80
77
 
81
78
  def close(reason=nil)
82
- if stop_reason
83
- change_state(:catch_error)
84
- operation.error!(stop_reason)
85
- return
86
- end
87
-
88
79
  if state == :body && !response.content_length?
89
80
  response.finish
90
81
  end
@@ -94,11 +85,15 @@ module EmmyHttp
94
85
  self.url = url + response.location
95
86
  self.response = nil
96
87
  parser.reset!
97
- operation.reconnect
88
+ begin
89
+ operation.reconnect
90
+ rescue EventMachine::ConnectionError => e
91
+ finalize(e.to_s)
92
+ end
98
93
  return
99
94
  end
100
95
 
101
- finalize(reason)
96
+ finalize(stop_reason || reason)
102
97
  end
103
98
 
104
99
  def send_request
@@ -143,8 +138,8 @@ module EmmyHttp
143
138
 
144
139
  elsif json
145
140
  json_string = json.is_a?(String) ? json : (json.respond_to?(:to_json) ? json.to_json : JSON.dump(json))
146
- headers['Content-Length'] = json_string.size
147
141
  headers['Content-Type'] = 'application/json'
142
+ headers['Content-Length'] = json_string.size
148
143
  json_string
149
144
 
150
145
  elsif file
@@ -1,5 +1,5 @@
1
1
  module EmmyHttp
2
2
  module Client
3
- VERSION = "0.1.8"
3
+ VERSION = "0.1.10"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emmy-http-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - inre
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-05-25 00:00:00.000000000 Z
11
+ date: 2016-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http_parser.rb
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '10.0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rspec
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '3'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '3'
125
139
  description: EventMachine-based HTTP request client
126
140
  email:
127
141
  - inre.storm@gmail.com
@@ -138,6 +152,9 @@ files:
138
152
  - Rakefile
139
153
  - TODO.md
140
154
  - emmy-http-client.gemspec
155
+ - example/Gemfile
156
+ - example/Gemfile.lock
157
+ - example/simple.rb
141
158
  - lib/emmy_http/client.rb
142
159
  - lib/emmy_http/client/adapter.rb
143
160
  - lib/emmy_http/client/client.rb
@@ -167,8 +184,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
167
184
  version: '0'
168
185
  requirements: []
169
186
  rubyforge_project:
170
- rubygems_version: 2.4.6
187
+ rubygems_version: 2.5.1
171
188
  signing_key:
172
189
  specification_version: 4
173
190
  summary: HTTP request client
174
191
  test_files: []
192
+ has_rdoc: