steamcannon-deltacloud-core 0.0.7.1 → 0.0.7.2

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.
@@ -15,37 +15,46 @@
15
15
  # License for the specific language governing permissions and limitations
16
16
  # under the License.
17
17
 
18
- #--
19
- # based on the example from http://macournoyer.com/blog/2009/06/04/pusher-and-async-with-thin/
20
- #--
21
- require 'eventmachine'
22
- class BlobStream
23
- AsyncResponse = [-1, {}, []].freeze
24
- def self.call(env, credentials, params)
25
- body = DeferrableBody.new
26
- #Get the headers out asap. Don't specify a content-type let
27
- #the client guess and if they can't they SHOULD default to
28
- #'application/octet-stream' anyway as per:
29
- #http://www.w3.org/Protocols/rfc2616/rfc2616-sec7.html#sec7.2.1
30
- EM.next_tick { env['async.callback'].call [200, {'Content-Type' => "#{params['content_type']}", 'Content-Length' => "#{params['content_length']}"}, body] }
31
- #call the driver from here. the driver method yields for every chunk of blob it receives. We then
32
- #use body.call to write that chunk as received.
33
- driver.blob_data(credentials, params[:bucket], params[:blob], params) {|chunk| body.call ["#{chunk}"]} #close blob_data block
34
- body.succeed
35
- AsyncResponse # Tells Thin to not close the connection and continue it's work on other request
18
+ begin
19
+ require 'eventmachine'
20
+ #--
21
+ # based on the example from http://macournoyer.com/blog/2009/06/04/pusher-and-async-with-thin/
22
+ #--
23
+ class BlobStream
24
+ AsyncResponse = [-1, {}, []].freeze
25
+ def self.call(env, credentials, params)
26
+ body = DeferrableBody.new
27
+ #Get the headers out asap. Don't specify a content-type let
28
+ #the client guess and if they can't they SHOULD default to
29
+ #'application/octet-stream' anyway as per:
30
+ #http://www.w3.org/Protocols/rfc2616/rfc2616-sec7.html#sec7.2.1
31
+ EM.next_tick { env['async.callback'].call [200, {'Content-Type' => "#{params['content_type']}", 'Content-Length' => "#{params['content_length']}"}, body] }
32
+ #call the driver from here. the driver method yields for every chunk of blob it receives. We then
33
+ #use body.call to write that chunk as received.
34
+ driver.blob_data(credentials, params[:bucket], params[:blob], params) {|chunk| body.call ["#{chunk}"]} #close blob_data block
35
+ body.succeed
36
+ AsyncResponse # Tells Thin to not close the connection and continue it's work on other request
37
+ end
36
38
  end
37
- end
38
39
 
39
- class DeferrableBody
40
- include EventMachine::Deferrable
40
+ class DeferrableBody
41
+ include EventMachine::Deferrable
41
42
 
42
- def call(body)
43
- body.each do |chunk|
44
- @body_callback.call(chunk)
43
+ def call(body)
44
+ body.each do |chunk|
45
+ @body_callback.call(chunk)
46
+ end
45
47
  end
46
- end
47
48
 
48
- def each(&blk)
49
- @body_callback = blk
49
+ def each(&blk)
50
+ @body_callback = blk
51
+ end
52
+ end
53
+ rescue LoadError => e
54
+ # EventMachine isn't available, disable blob streaming
55
+ class BlobStream
56
+ def self.call(env, credentials, params)
57
+ raise NotImplementedError.new("Blob streaming is only supported under Thin")
58
+ end
50
59
  end
51
60
  end
metadata CHANGED
@@ -6,8 +6,8 @@ version: !ruby/object:Gem::Version
6
6
  - 0
7
7
  - 0
8
8
  - 7
9
- - 1
10
- version: 0.0.7.1
9
+ - 2
10
+ version: 0.0.7.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Red Hat, Inc.
@@ -15,13 +15,14 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-09 00:00:00 -04:00
18
+ date: 2010-10-11 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: rake
23
23
  prerelease: false
24
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
25
26
  requirements:
26
27
  - - ">="
27
28
  - !ruby/object:Gem::Version
@@ -36,6 +37,7 @@ dependencies:
36
37
  name: eventmachine
37
38
  prerelease: false
38
39
  requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
39
41
  requirements:
40
42
  - - ">="
41
43
  - !ruby/object:Gem::Version
@@ -50,6 +52,7 @@ dependencies:
50
52
  name: haml
51
53
  prerelease: false
52
54
  requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
53
56
  requirements:
54
57
  - - ">="
55
58
  - !ruby/object:Gem::Version
@@ -64,6 +67,7 @@ dependencies:
64
67
  name: sinatra
65
68
  prerelease: false
66
69
  requirement: &id004 !ruby/object:Gem::Requirement
70
+ none: false
67
71
  requirements:
68
72
  - - ">="
69
73
  - !ruby/object:Gem::Version
@@ -78,6 +82,7 @@ dependencies:
78
82
  name: rack
79
83
  prerelease: false
80
84
  requirement: &id005 !ruby/object:Gem::Requirement
85
+ none: false
81
86
  requirements:
82
87
  - - ">="
83
88
  - !ruby/object:Gem::Version
@@ -92,6 +97,7 @@ dependencies:
92
97
  name: rack-accept
93
98
  prerelease: false
94
99
  requirement: &id006 !ruby/object:Gem::Requirement
100
+ none: false
95
101
  requirements:
96
102
  - - ~>
97
103
  - !ruby/object:Gem::Version
@@ -106,6 +112,7 @@ dependencies:
106
112
  name: thin
107
113
  prerelease: false
108
114
  requirement: &id007 !ruby/object:Gem::Requirement
115
+ none: false
109
116
  requirements:
110
117
  - - ">="
111
118
  - !ruby/object:Gem::Version
@@ -120,6 +127,7 @@ dependencies:
120
127
  name: rerun
121
128
  prerelease: false
122
129
  requirement: &id008 !ruby/object:Gem::Requirement
130
+ none: false
123
131
  requirements:
124
132
  - - ">="
125
133
  - !ruby/object:Gem::Version
@@ -134,6 +142,7 @@ dependencies:
134
142
  name: json
135
143
  prerelease: false
136
144
  requirement: &id009 !ruby/object:Gem::Requirement
145
+ none: false
137
146
  requirements:
138
147
  - - ">="
139
148
  - !ruby/object:Gem::Version
@@ -148,6 +157,7 @@ dependencies:
148
157
  name: compass
149
158
  prerelease: false
150
159
  requirement: &id010 !ruby/object:Gem::Requirement
160
+ none: false
151
161
  requirements:
152
162
  - - ">="
153
163
  - !ruby/object:Gem::Version
@@ -162,6 +172,7 @@ dependencies:
162
172
  name: nokogiri
163
173
  prerelease: false
164
174
  requirement: &id011 !ruby/object:Gem::Requirement
175
+ none: false
165
176
  requirements:
166
177
  - - ">="
167
178
  - !ruby/object:Gem::Version
@@ -176,6 +187,7 @@ dependencies:
176
187
  name: rack-test
177
188
  prerelease: false
178
189
  requirement: &id012 !ruby/object:Gem::Requirement
190
+ none: false
179
191
  requirements:
180
192
  - - ">="
181
193
  - !ruby/object:Gem::Version
@@ -190,6 +202,7 @@ dependencies:
190
202
  name: cucumber
191
203
  prerelease: false
192
204
  requirement: &id013 !ruby/object:Gem::Requirement
205
+ none: false
193
206
  requirements:
194
207
  - - ">="
195
208
  - !ruby/object:Gem::Version
@@ -204,6 +217,7 @@ dependencies:
204
217
  name: rcov
205
218
  prerelease: false
206
219
  requirement: &id014 !ruby/object:Gem::Requirement
220
+ none: false
207
221
  requirements:
208
222
  - - ">="
209
223
  - !ruby/object:Gem::Version
@@ -366,6 +380,13 @@ files:
366
380
  - public/stylesheets/compiled/application.css
367
381
  - public/stylesheets/compiled/screen.css
368
382
  - bin/deltacloudd
383
+ - tests/images_test.rb
384
+ - tests/instances_test.rb
385
+ - tests/url_for_test.rb
386
+ - tests/hardware_profiles_test.rb
387
+ - tests/instance_states_test.rb
388
+ - tests/realms_test.rb
389
+ - tests/api_test.rb
369
390
  - COPYING
370
391
  has_rdoc: true
371
392
  homepage: http://www.deltacloud.org
@@ -377,6 +398,7 @@ rdoc_options: []
377
398
  require_paths:
378
399
  - lib
379
400
  required_ruby_version: !ruby/object:Gem::Requirement
401
+ none: false
380
402
  requirements:
381
403
  - - ">="
382
404
  - !ruby/object:Gem::Version
@@ -386,6 +408,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
386
408
  - 1
387
409
  version: 1.8.1
388
410
  required_rubygems_version: !ruby/object:Gem::Requirement
411
+ none: false
389
412
  requirements:
390
413
  - - ">="
391
414
  - !ruby/object:Gem::Version
@@ -395,7 +418,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
395
418
  requirements: []
396
419
 
397
420
  rubyforge_project:
398
- rubygems_version: 1.3.6
421
+ rubygems_version: 1.3.7
399
422
  signing_key:
400
423
  specification_version: 3
401
424
  summary: Deltacloud REST API