our-eel-hacks 0.0.16 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -235,7 +235,7 @@ module OurEelHacks
235
235
  end
236
236
 
237
237
  def heroku
238
- @heroku ||= HerokuClient.new(logger, "", heroku_api_key)
238
+ @heroku ||= HerokuClient.new(logger, heroku_api_key)
239
239
  end
240
240
 
241
241
  def set_dynos(count,moment)
@@ -249,7 +249,7 @@ module OurEelHacks
249
249
  return
250
250
  end
251
251
  logger.info{ "Scaling from #{dynos} to #{count} dynos for #{ps_type}" }
252
- heroku.ps_scale(app_name, :type => ps_type, :qty => count)
252
+ heroku.ps_scale(app_name, ps_type, count)
253
253
  update_dynos(count, moment)
254
254
  end
255
255
  end
@@ -0,0 +1,23 @@
1
+ require 'heroku/api'
2
+
3
+ module OurEelHacks
4
+ class HerokuClient
5
+ def initialize(logger, api_key)
6
+ @logger = logger
7
+ @api = Heroku::API.new(:api_key => api_key)
8
+ end
9
+
10
+ attr_reader :logger
11
+ attr_reader :api
12
+
13
+ def ps(app_name)
14
+ logger.info{ "Scaling Heroku API call: get ps #{app_name.inspect}" }
15
+ api.get_ps(app_name).body
16
+ end
17
+
18
+ def ps_scale(app_name, ps_type, count)
19
+ logger.info{ "Scaling Heroku API call: post ps_scale #{[app_name, ps_type, count].inspect}" }
20
+ api.post_ps_scale(app_name, ps_type, count)
21
+ end
22
+ end
23
+ end
data/spec/autoscaler.rb CHANGED
@@ -2,11 +2,7 @@ require 'our-eel-hacks/rack'
2
2
  require 'logger'
3
3
 
4
4
  describe OurEelHacks::Autoscaler do
5
- before :each do
6
- FakeWeb.allow_net_connect = false
7
- end
8
-
9
- use_vcr_cassette :record => :once
5
+ use_vcr_cassette "OurEelHacks"
10
6
 
11
7
  let :app_name do
12
8
  "sbmp"
@@ -131,7 +127,7 @@ describe OurEelHacks::Autoscaler do
131
127
  it "should scale up if time has elapsed and hard limit exceeded" do
132
128
  time_adjust(expected_scale_frequency + 5)
133
129
 
134
- heroku.should_receive(:ps_scale).with(app_name, hash_including(:qty => 4))
130
+ heroku.should_receive(:ps_scale).with(app_name, "web", 4)
135
131
  autoscaler.scale(hard_high)
136
132
  end
137
133
  end
@@ -142,7 +138,7 @@ describe OurEelHacks::Autoscaler do
142
138
  end
143
139
 
144
140
  it "should scale down if hard lower limit exceeded" do
145
- heroku.should_receive(:ps_scale).with(app_name, hash_including(:qty => 2))
141
+ heroku.should_receive(:ps_scale).with(app_name, "web", 2)
146
142
  autoscaler.scale(hard_low)
147
143
  end
148
144
 
@@ -196,7 +192,7 @@ describe OurEelHacks::Autoscaler do
196
192
  end
197
193
 
198
194
  it "should scale up if above upper soft limit" do
199
- heroku.should_receive(:ps_scale).with(app_name, hash_including(:qty => 4))
195
+ heroku.should_receive(:ps_scale).with(app_name, "web", 4)
200
196
  autoscaler.scale(soft_high)
201
197
  end
202
198
 
@@ -239,7 +235,8 @@ describe OurEelHacks::Autoscaler do
239
235
  end
240
236
 
241
237
  it "should scale down if below lower soft limit" do
242
- heroku.should_receive(:ps_scale).with(app_name, hash_including(:qty => 2))
238
+ heroku.should_receive(:ps_scale).with(app_name, "web", 2)
239
+
243
240
  autoscaler.scale(soft_low)
244
241
  end
245
242
  end
data/spec/rack.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'our-eel-hacks/rack'
2
2
 
3
3
  describe OurEelHacks::Rack do
4
- use_vcr_cassette :record => :once
4
+ use_vcr_cassette "OurEelHacks"
5
5
 
6
6
  let :app_name do
7
7
  "sbmp"
@@ -0,0 +1,173 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.heroku.com/apps/sbmp/ps
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip
14
+ User-Agent:
15
+ - heroku-rb/0.2.1
16
+ X-Heroku-API-Version:
17
+ - '3'
18
+ X-Ruby-Version:
19
+ - 1.9.3
20
+ X-Ruby-Platform:
21
+ - i686-linux
22
+ response:
23
+ status:
24
+ code: 200
25
+ message:
26
+ headers:
27
+ Cache-Control:
28
+ - private, max-age=0, must-revalidate
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ Date:
32
+ - Sat, 26 May 2012 01:17:49 GMT
33
+ ETag:
34
+ - ! '"28471ecef5d3704d5efe107780974eb5"'
35
+ Server:
36
+ - nginx/1.0.14
37
+ Status:
38
+ - 200 OK
39
+ Strict-Transport-Security:
40
+ - max-age=500
41
+ X-Runtime:
42
+ - '118'
43
+ Content-Length:
44
+ - '879'
45
+ Connection:
46
+ - keep-alive
47
+ body:
48
+ encoding: US-ASCII
49
+ string: ! '[{"slug":"707177e_04b3","app_name":"sbmp","upid":"43907058","command":"bundle
50
+ exec rails server thin -p $PORT","action":"up","process":"web.1","rendezvous_url":null,"elapsed":1057,"type":"Ps","attached":false,"pretty_state":"up
51
+ for 17m","state":"up","transitioned_at":"2012/05/25 18:00:11 -0700"},{"slug":"707177e_04b3","app_name":"sbmp","upid":"68359174","command":"bundle
52
+ exec sidekiq -c 18","action":"up","process":"worker.1","rendezvous_url":null,"elapsed":1110,"type":"Ps","attached":false,"pretty_state":"up
53
+ for 18m","state":"up","transitioned_at":"2012/05/25 17:59:18 -0700"},{"slug":"707177e_04b3","app_name":"sbmp","upid":"68774505","command":"bundle
54
+ exec rails server thin -p $PORT","action":"up","process":"web.2","rendezvous_url":null,"elapsed":1062,"type":"Ps","attached":false,"pretty_state":"up
55
+ for 17m","state":"up","transitioned_at":"2012/05/25 18:00:06 -0700"},{"slug":"707177e_04b3","app_name":"sbmp","upid":"68774505","command":"bundle
56
+ exec rails server thin -p $PORT","action":"up","process":"web.3","rendezvous_url":null,"elapsed":1062,"type":"Ps","attached":false,"pretty_state":"up
57
+ for 17m","state":"up","transitioned_at":"2012/05/25 18:00:06 -0700"}]'
58
+ http_version:
59
+ recorded_at: Sat, 26 May 2012 01:15:32 GMT
60
+ - request:
61
+ method: get
62
+ uri: https://api.heroku.com/apps/sbmp/ps
63
+ body:
64
+ encoding: US-ASCII
65
+ string: ''
66
+ headers:
67
+ Accept:
68
+ - application/json
69
+ Accept-Encoding:
70
+ - gzip
71
+ User-Agent:
72
+ - heroku-rb/0.2.1
73
+ X-Heroku-API-Version:
74
+ - '3'
75
+ X-Ruby-Version:
76
+ - 1.9.3
77
+ X-Ruby-Platform:
78
+ - i686-linux
79
+ response:
80
+ status:
81
+ code: 200
82
+ message:
83
+ headers:
84
+ Cache-Control:
85
+ - private, max-age=0, must-revalidate
86
+ Content-Type:
87
+ - application/json; charset=utf-8
88
+ Date:
89
+ - Sat, 26 May 2012 01:27:34 GMT
90
+ ETag:
91
+ - ! '"dbf36b424503768f7eeab5164a64b79a"'
92
+ Server:
93
+ - nginx/1.0.14
94
+ Status:
95
+ - 200 OK
96
+ Strict-Transport-Security:
97
+ - max-age=500
98
+ X-Runtime:
99
+ - '149'
100
+ Content-Length:
101
+ - '879'
102
+ Connection:
103
+ - keep-alive
104
+ body:
105
+ encoding: US-ASCII
106
+ string: ! '[{"slug":"707177e_04b3","app_name":"sbmp","upid":"43907058","command":"bundle
107
+ exec rails server thin -p $PORT","action":"up","process":"web.1","rendezvous_url":null,"elapsed":1057,"type":"Ps","attached":false,"pretty_state":"up
108
+ for 17m","state":"up","transitioned_at":"2012/05/25 18:00:11 -0700"},{"slug":"707177e_04b3","app_name":"sbmp","upid":"68359174","command":"bundle
109
+ exec sidekiq -c 18","action":"up","process":"worker.1","rendezvous_url":null,"elapsed":1110,"type":"Ps","attached":false,"pretty_state":"up
110
+ for 18m","state":"up","transitioned_at":"2012/05/25 17:59:18 -0700"},{"slug":"707177e_04b3","app_name":"sbmp","upid":"68774505","command":"bundle
111
+ exec rails server thin -p $PORT","action":"up","process":"web.2","rendezvous_url":null,"elapsed":1062,"type":"Ps","attached":false,"pretty_state":"up
112
+ for 17m","state":"up","transitioned_at":"2012/05/25 18:00:06 -0700"},{"slug":"707177e_04b3","app_name":"sbmp","upid":"68774505","command":"bundle
113
+ exec rails server thin -p $PORT","action":"up","process":"web.3","rendezvous_url":null,"elapsed":1062,"type":"Ps","attached":false,"pretty_state":"up
114
+ for 17m","state":"up","transitioned_at":"2012/05/25 18:00:06 -0700"}]'
115
+ http_version:
116
+ recorded_at: Sat, 26 May 2012 01:25:33 GMT
117
+ - request:
118
+ method: get
119
+ uri: https://api.heroku.com/apps/sbmp/ps
120
+ body:
121
+ encoding: US-ASCII
122
+ string: ''
123
+ headers:
124
+ Accept:
125
+ - application/json
126
+ Accept-Encoding:
127
+ - gzip
128
+ User-Agent:
129
+ - heroku-rb/0.2.1
130
+ X-Heroku-API-Version:
131
+ - '3'
132
+ X-Ruby-Version:
133
+ - 1.9.3
134
+ X-Ruby-Platform:
135
+ - i686-linux
136
+ response:
137
+ status:
138
+ code: 200
139
+ message:
140
+ headers:
141
+ Cache-Control:
142
+ - private, max-age=0, must-revalidate
143
+ Content-Type:
144
+ - application/json; charset=utf-8
145
+ Date:
146
+ - Sat, 26 May 2012 01:27:34 GMT
147
+ ETag:
148
+ - ! '"dbf36b424503768f7eeab5164a64b79a"'
149
+ Server:
150
+ - nginx/1.0.14
151
+ Status:
152
+ - 200 OK
153
+ Strict-Transport-Security:
154
+ - max-age=500
155
+ X-Runtime:
156
+ - '149'
157
+ Content-Length:
158
+ - '879'
159
+ Connection:
160
+ - keep-alive
161
+ body:
162
+ encoding: US-ASCII
163
+ string: ! '[{"slug":"707177e_04b3","app_name":"sbmp","upid":"43907058","command":"bundle
164
+ exec rails server thin -p $PORT","action":"up","process":"web.1","rendezvous_url":null,"elapsed":1057,"type":"Ps","attached":false,"pretty_state":"up
165
+ for 17m","state":"up","transitioned_at":"2012/05/25 18:00:11 -0700"},{"slug":"707177e_04b3","app_name":"sbmp","upid":"68359174","command":"bundle
166
+ exec sidekiq -c 18","action":"up","process":"worker.1","rendezvous_url":null,"elapsed":1110,"type":"Ps","attached":false,"pretty_state":"up
167
+ for 18m","state":"up","transitioned_at":"2012/05/25 17:59:18 -0700"},{"slug":"707177e_04b3","app_name":"sbmp","upid":"68774505","command":"bundle
168
+ exec rails server thin -p $PORT","action":"up","process":"web.2","rendezvous_url":null,"elapsed":1062,"type":"Ps","attached":false,"pretty_state":"up
169
+ for 17m","state":"up","transitioned_at":"2012/05/25 18:00:06 -0700"},{"slug":"707177e_04b3","app_name":"sbmp","upid":"68774505","command":"bundle
170
+ exec rails server thin -p $PORT","action":"up","process":"web.3","rendezvous_url":null,"elapsed":1062,"type":"Ps","attached":false,"pretty_state":"up
171
+ for 17m","state":"up","transitioned_at":"2012/05/25 18:00:06 -0700"}]'
172
+ http_version:
173
+ recorded_at: Sat, 26 May 2012 01:25:33 GMT
@@ -4,8 +4,8 @@ require 'vcr'
4
4
 
5
5
  VCR.configure do |c|
6
6
  c.cassette_library_dir = 'spec_help/cassettes'
7
- c.hook_into :fakeweb
8
- c.default_cassette_options = { :record => :new_episodes }
7
+ c.hook_into :excon
8
+ c.default_cassette_options = { :record => :once }
9
9
  end
10
10
 
11
11
  RSpec.configure do |config|
@@ -14,18 +14,27 @@ end
14
14
 
15
15
  require 'our-eel-hacks/heroku-client'
16
16
  class OurEelHacks::HerokuClient
17
- alias real_process process
17
+ alias real_ps ps
18
+ alias real_ps_scale ps_scale
18
19
 
19
20
  class << self
20
21
  attr_accessor :processing_budget
21
22
  end
22
23
 
23
- def process(*args, &block)
24
+ def ps(*args, &block)
24
25
  #puts caller.grep %r{#{File::expand_path("../..",__FILE__)}}
25
26
  if (self.class.processing_budget -= 1) < 0
26
27
  raise "Exhausted processing budget"
27
28
  end
28
- real_process(*args, &block)
29
+ real_ps(*args, &block)
30
+ end
31
+
32
+ def ps_scale(*args, &block)
33
+ #puts caller.grep %r{#{File::expand_path("../..",__FILE__)}}
34
+ if (self.class.processing_budget -= 1) < 0
35
+ raise "Exhausted processing budget"
36
+ end
37
+ real_ps_scale(*args, &block)
29
38
  end
30
39
  end
31
40
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: our-eel-hacks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.16
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-05-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: corundum
16
- requirement: &71944990 !ruby/object:Gem::Requirement
16
+ requirement: &76255930 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,22 +21,22 @@ dependencies:
21
21
  version: 0.0.1
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *71944990
24
+ version_requirements: *76255930
25
25
  - !ruby/object:Gem::Dependency
26
- name: heroku
27
- requirement: &71940420 !ruby/object:Gem::Requirement
26
+ name: heroku-api
27
+ requirement: &76255010 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
- - - ! '>='
30
+ - - ~>
31
31
  - !ruby/object:Gem::Version
32
- version: 2.25.0
32
+ version: 0.2.1
33
33
  segments:
34
- - 2
35
- - 25
36
34
  - 0
35
+ - 2
36
+ - 1
37
37
  type: :runtime
38
38
  prerelease: false
39
- version_requirements: *71940420
39
+ version_requirements: *76255010
40
40
  description: ! " Middleware for Rack and Sidekiq to scale heroku.\n\n A heroku process
41
41
  knows everything it needs in order to scale itself. A little configuration, and
42
42
  you're set.\n"
@@ -48,6 +48,7 @@ extra_rdoc_files: []
48
48
  files:
49
49
  - lib/our-eel-hacks/autoscaler.rb
50
50
  - lib/our-eel-hacks/rack.rb
51
+ - lib/our-eel-hacks/heroku-client.rb
51
52
  - lib/our-eel-hacks/defer/event-machine.rb
52
53
  - lib/our-eel-hacks/defer/celluloid.rb
53
54
  - lib/our-eel-hacks/sidekiq.rb
@@ -56,8 +57,7 @@ files:
56
57
  - spec/rack.rb
57
58
  - spec_help/spec_helper.rb
58
59
  - spec_help/gem_test_suite.rb
59
- - spec_help/cassettes/OurEelHacks_Rack.yml
60
- - spec_help/cassettes/OurEelHacks_Autoscaler.yml
60
+ - spec_help/cassettes/OurEelHacks.yml
61
61
  - spec_help/file-sandbox.rb
62
62
  homepage: http://nyarly.github.com/our-eel-hacks
63
63
  licenses:
@@ -68,7 +68,7 @@ rdoc_options:
68
68
  - --main
69
69
  - doc/README
70
70
  - --title
71
- - our-eel-hacks-0.0.16 RDoc
71
+ - our-eel-hacks-0.1.0 RDoc
72
72
  require_paths:
73
73
  - lib/
74
74
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -79,7 +79,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
79
79
  version: '0'
80
80
  segments:
81
81
  - 0
82
- hash: -980070001
82
+ hash: 939575183
83
83
  required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
@@ -1,664 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://:FakeApiKey@api.heroku.com/apps/sbmp
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- accept:
11
- - ! '*/*; q=0.5, application/xml'
12
- accept-encoding:
13
- - gzip, deflate
14
- x-heroku-api-version:
15
- - '2'
16
- user-agent:
17
- - heroku-gem/2.25.0
18
- x-ruby-version:
19
- - 1.9.3
20
- x-ruby-platform:
21
- - i686-linux
22
- authorization:
23
- - Basic OjYzMWJiYjJhYWI1NjhkOTNmMTk3Mzc1MDY5NjM0N2Y3ZjlmZWE4ZjY=
24
- response:
25
- status:
26
- code: 200
27
- message: OK
28
- headers:
29
- server:
30
- - nginx
31
- date:
32
- - Mon, 07 May 2012 19:52:48 GMT
33
- content-type:
34
- - application/xml; charset=utf-8
35
- connection:
36
- - keep-alive
37
- status:
38
- - 200 OK
39
- etag:
40
- - ! '"e32026fbb1ab6519a01cf80025f08660"'
41
- x-runtime:
42
- - '281'
43
- content-length:
44
- - '871'
45
- cache-control:
46
- - private, max-age=0, must-revalidate
47
- strict-transport-security:
48
- - max-age=500
49
- body:
50
- encoding: US-ASCII
51
- string: !str
52
- str: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<app>\n <created-at type=\"datetime\">2012-02-26T21:42:49-08:00</created-at>\n
53
- \ <dynos type=\"integer\">0</dynos>\n <name>sbmp</name>\n <repo-size type=\"integer\">220864512</repo-size>\n
54
- \ <requested-stack nil=\"true\"></requested-stack>\n <slug-size type=\"integer\">85061632</slug-size>\n
55
- \ <stack>cedar</stack>\n <workers type=\"integer\">0</workers>\n <create-status
56
- type=\"symbol\">complete</create-status>\n <repo-migrate-status type=\"symbol\">complete</repo-migrate-status>\n
57
- \ <buildpack-provided-description>Ruby/Rails</buildpack-provided-description>\n
58
- \ <id>app3049118@heroku.com</id>\n <domain_name>sbmp.herokuapp.com</domain_name>\n
59
- \ <owner>aws@salesbump.com</owner>\n <web_url>http://sbmp.herokuapp.com/</web_url>\n
60
- \ <git_url>git@heroku.com:sbmp.git</git_url>\n <database_size></database_size>\n
61
- \ <stateless-codex>true</stateless-codex>\n</app>\n"
62
- net_http_res: &79789840 !ruby/object:Net::HTTPOK
63
- http_version: '1.0'
64
- code: '200'
65
- message: OK
66
- header:
67
- server:
68
- - nginx
69
- date:
70
- - Mon, 07 May 2012 19:52:48 GMT
71
- content-type:
72
- - application/xml; charset=utf-8
73
- connection:
74
- - keep-alive
75
- status:
76
- - 200 OK
77
- etag:
78
- - ! '"e32026fbb1ab6519a01cf80025f08660"'
79
- x-runtime:
80
- - '281'
81
- content-length:
82
- - '871'
83
- cache-control:
84
- - private, max-age=0, must-revalidate
85
- strict-transport-security:
86
- - max-age=500
87
- body: !str
88
- str: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<app>\n <created-at
89
- type=\"datetime\">2012-02-26T21:42:49-08:00</created-at>\n <dynos type=\"integer\">0</dynos>\n
90
- \ <name>sbmp</name>\n <repo-size type=\"integer\">220864512</repo-size>\n
91
- \ <requested-stack nil=\"true\"></requested-stack>\n <slug-size type=\"integer\">85061632</slug-size>\n
92
- \ <stack>cedar</stack>\n <workers type=\"integer\">0</workers>\n <create-status
93
- type=\"symbol\">complete</create-status>\n <repo-migrate-status type=\"symbol\">complete</repo-migrate-status>\n
94
- \ <buildpack-provided-description>Ruby/Rails</buildpack-provided-description>\n
95
- \ <id>app3049118@heroku.com</id>\n <domain_name>sbmp.herokuapp.com</domain_name>\n
96
- \ <owner>aws@salesbump.com</owner>\n <web_url>http://sbmp.herokuapp.com/</web_url>\n
97
- \ <git_url>git@heroku.com:sbmp.git</git_url>\n <database_size></database_size>\n
98
- \ <stateless-codex>true</stateless-codex>\n</app>\n"
99
- net_http_res: *79789840
100
- args: &79674040
101
- :verify_ssl: 1
102
- :ssl_ca_file: /home/judson/ruby/bundle-paths/rails3/lib/ruby/1.9.1/gems/heroku-2.25.0/data/cacert.pem
103
- :user: ''
104
- :password: FakeApiKey
105
- :method: :get
106
- :url: https://api.heroku.com/apps/sbmp
107
- :headers:
108
- X-Heroku-API-Version: '2'
109
- User-Agent: heroku-gem/2.25.0
110
- X-Ruby-Version: 1.9.3
111
- X-Ruby-Platform: i686-linux
112
- code: 200
113
- headers: &79786080
114
- :server: nginx
115
- :date: Mon, 07 May 2012 19:52:48 GMT
116
- :content_type: application/xml; charset=utf-8
117
- :connection: keep-alive
118
- :status: 200 OK
119
- :etag: ! '"e32026fbb1ab6519a01cf80025f08660"'
120
- :x_runtime: '281'
121
- :content_length: '871'
122
- :cache_control: private, max-age=0, must-revalidate
123
- :strict_transport_security: max-age=500
124
- read: true
125
- __read_body_previously_called: true
126
- args: *79674040
127
- code: 200
128
- headers: *79786080
129
- http_version: '1.1'
130
- recorded_at: Mon, 07 May 2012 19:50:42 GMT
131
- - request:
132
- method: get
133
- uri: https://:FakeApiKey@api.heroku.com/apps/sbmp/collaborators
134
- body:
135
- encoding: US-ASCII
136
- string: ''
137
- headers:
138
- accept:
139
- - ! '*/*; q=0.5, application/xml'
140
- accept-encoding:
141
- - gzip, deflate
142
- x-heroku-api-version:
143
- - '2'
144
- user-agent:
145
- - heroku-gem/2.25.0
146
- x-ruby-version:
147
- - 1.9.3
148
- x-ruby-platform:
149
- - i686-linux
150
- authorization:
151
- - Basic OjYzMWJiYjJhYWI1NjhkOTNmMTk3Mzc1MDY5NjM0N2Y3ZjlmZWE4ZjY=
152
- response:
153
- status:
154
- code: 200
155
- message: OK
156
- headers:
157
- server:
158
- - nginx
159
- date:
160
- - Mon, 07 May 2012 19:52:48 GMT
161
- content-type:
162
- - application/xml; charset=utf-8
163
- connection:
164
- - keep-alive
165
- status:
166
- - 200 OK
167
- etag:
168
- - ! '"89032632d1ae99be4cc6bc10767a1adc"'
169
- x-runtime:
170
- - '23'
171
- content-length:
172
- - '270'
173
- cache-control:
174
- - private, max-age=0, must-revalidate
175
- strict-transport-security:
176
- - max-age=500
177
- body:
178
- encoding: US-ASCII
179
- string: !str
180
- str: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<collaborators>\n <collaborator>\n
181
- \ <email>aws@salesbump.com</email>\n <access>edit</access>\n </collaborator>\n
182
- \ <collaborator>\n <email>judson@lrdesign.com</email>\n <access>edit</access>\n
183
- \ </collaborator>\n</collaborators>\n"
184
- net_http_res: &79863770 !ruby/object:Net::HTTPOK
185
- http_version: '1.0'
186
- code: '200'
187
- message: OK
188
- header:
189
- server:
190
- - nginx
191
- date:
192
- - Mon, 07 May 2012 19:52:48 GMT
193
- content-type:
194
- - application/xml; charset=utf-8
195
- connection:
196
- - keep-alive
197
- status:
198
- - 200 OK
199
- etag:
200
- - ! '"89032632d1ae99be4cc6bc10767a1adc"'
201
- x-runtime:
202
- - '23'
203
- content-length:
204
- - '270'
205
- cache-control:
206
- - private, max-age=0, must-revalidate
207
- strict-transport-security:
208
- - max-age=500
209
- body: !str
210
- str: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<collaborators>\n
211
- \ <collaborator>\n <email>aws@salesbump.com</email>\n <access>edit</access>\n
212
- \ </collaborator>\n <collaborator>\n <email>judson@lrdesign.com</email>\n
213
- \ <access>edit</access>\n </collaborator>\n</collaborators>\n"
214
- net_http_res: *79863770
215
- args: &79839720
216
- :verify_ssl: 1
217
- :ssl_ca_file: /home/judson/ruby/bundle-paths/rails3/lib/ruby/1.9.1/gems/heroku-2.25.0/data/cacert.pem
218
- :user: ''
219
- :password: FakeApiKey
220
- :method: :get
221
- :url: https://api.heroku.com/apps/sbmp/collaborators
222
- :headers:
223
- X-Heroku-API-Version: '2'
224
- User-Agent: heroku-gem/2.25.0
225
- X-Ruby-Version: 1.9.3
226
- X-Ruby-Platform: i686-linux
227
- code: 200
228
- headers: &79860560
229
- :server: nginx
230
- :date: Mon, 07 May 2012 19:52:48 GMT
231
- :content_type: application/xml; charset=utf-8
232
- :connection: keep-alive
233
- :status: 200 OK
234
- :etag: ! '"89032632d1ae99be4cc6bc10767a1adc"'
235
- :x_runtime: '23'
236
- :content_length: '270'
237
- :cache_control: private, max-age=0, must-revalidate
238
- :strict_transport_security: max-age=500
239
- read: true
240
- __read_body_previously_called: true
241
- args: *79839720
242
- code: 200
243
- headers: *79860560
244
- http_version: '1.1'
245
- recorded_at: Mon, 07 May 2012 19:50:42 GMT
246
- - request:
247
- method: get
248
- uri: https://:FakeApiKey@api.heroku.com/apps/sbmp/addons
249
- body:
250
- encoding: US-ASCII
251
- string: ''
252
- headers:
253
- accept:
254
- - application/json
255
- accept-encoding:
256
- - gzip, deflate
257
- x-heroku-api-version:
258
- - '2'
259
- user-agent:
260
- - heroku-gem/2.25.0
261
- x-ruby-version:
262
- - 1.9.3
263
- x-ruby-platform:
264
- - i686-linux
265
- authorization:
266
- - Basic OjYzMWJiYjJhYWI1NjhkOTNmMTk3Mzc1MDY5NjM0N2Y3ZjlmZWE4ZjY=
267
- response:
268
- status:
269
- code: 200
270
- message: OK
271
- headers:
272
- server:
273
- - nginx
274
- date:
275
- - Mon, 07 May 2012 19:52:49 GMT
276
- content-type:
277
- - application/json; charset=utf-8
278
- connection:
279
- - keep-alive
280
- status:
281
- - 200 OK
282
- etag:
283
- - ! '"3af6412d378895e01d969c520cc169c5"'
284
- x-runtime:
285
- - '54'
286
- content-length:
287
- - '818'
288
- cache-control:
289
- - private, max-age=0, must-revalidate
290
- strict-transport-security:
291
- - max-age=500
292
- body:
293
- encoding: US-ASCII
294
- string: !str
295
- str: ! '[{"beta":false,"attachable":false,"configured":"mysql2://sbmpdev:sbmpdev2244@dev.c2wvnyihe8jq.us-east-1.rds.amazonaws.com/sbmp","url":"http://devcenter.heroku.com/articles/amazon_rds","state":"public","name":"amazon_rds","description":"Amazon
296
- RDS","price":{"cents":0,"unit":"month"}},{"beta":false,"attachable":false,"configured":true,"url":null,"state":"public","name":"redistogo:medium","description":"Redis
297
- To Go Medium","price":{"cents":11000,"unit":"month"}},{"beta":false,"attachable":false,"configured":true,"url":null,"state":"public","name":"sendgrid:starter","description":"SendGrid
298
- Starter","price":{"cents":0,"unit":"month"}},{"beta":false,"attachable":false,"configured":true,"url":null,"state":"public","name":"shared-database:5mb","description":"Shared
299
- Database 5MB","price":{"cents":0,"unit":"month"}}]'
300
- net_http_res: &79913860 !ruby/object:Net::HTTPOK
301
- http_version: '1.0'
302
- code: '200'
303
- message: OK
304
- header:
305
- server:
306
- - nginx
307
- date:
308
- - Mon, 07 May 2012 19:52:49 GMT
309
- content-type:
310
- - application/json; charset=utf-8
311
- connection:
312
- - keep-alive
313
- status:
314
- - 200 OK
315
- etag:
316
- - ! '"3af6412d378895e01d969c520cc169c5"'
317
- x-runtime:
318
- - '54'
319
- content-length:
320
- - '818'
321
- cache-control:
322
- - private, max-age=0, must-revalidate
323
- strict-transport-security:
324
- - max-age=500
325
- body: !str
326
- str: ! '[{"beta":false,"attachable":false,"configured":"mysql2://sbmpdev:sbmpdev2244@dev.c2wvnyihe8jq.us-east-1.rds.amazonaws.com/sbmp","url":"http://devcenter.heroku.com/articles/amazon_rds","state":"public","name":"amazon_rds","description":"Amazon
327
- RDS","price":{"cents":0,"unit":"month"}},{"beta":false,"attachable":false,"configured":true,"url":null,"state":"public","name":"redistogo:medium","description":"Redis
328
- To Go Medium","price":{"cents":11000,"unit":"month"}},{"beta":false,"attachable":false,"configured":true,"url":null,"state":"public","name":"sendgrid:starter","description":"SendGrid
329
- Starter","price":{"cents":0,"unit":"month"}},{"beta":false,"attachable":false,"configured":true,"url":null,"state":"public","name":"shared-database:5mb","description":"Shared
330
- Database 5MB","price":{"cents":0,"unit":"month"}}]'
331
- net_http_res: *79913860
332
- args: &79890530
333
- :verify_ssl: 1
334
- :ssl_ca_file: /home/judson/ruby/bundle-paths/rails3/lib/ruby/1.9.1/gems/heroku-2.25.0/data/cacert.pem
335
- :user: ''
336
- :password: FakeApiKey
337
- :method: :get
338
- :url: https://api.heroku.com/apps/sbmp/addons
339
- :headers:
340
- X-Heroku-API-Version: '2'
341
- User-Agent: heroku-gem/2.25.0
342
- X-Ruby-Version: 1.9.3
343
- X-Ruby-Platform: i686-linux
344
- :accept: application/json
345
- code: 200
346
- headers: &79927450
347
- :server: nginx
348
- :date: Mon, 07 May 2012 19:52:49 GMT
349
- :content_type: application/json; charset=utf-8
350
- :connection: keep-alive
351
- :status: 200 OK
352
- :etag: ! '"3af6412d378895e01d969c520cc169c5"'
353
- :x_runtime: '54'
354
- :content_length: '818'
355
- :cache_control: private, max-age=0, must-revalidate
356
- :strict_transport_security: max-age=500
357
- read: true
358
- __read_body_previously_called: true
359
- args: *79890530
360
- code: 200
361
- headers: *79927450
362
- http_version: '1.1'
363
- recorded_at: Mon, 07 May 2012 19:50:42 GMT
364
- - request:
365
- method: get
366
- uri: https://:FakeApiKey@api.heroku.com/apps/sbmp/ps
367
- body:
368
- encoding: US-ASCII
369
- string: ''
370
- headers:
371
- accept:
372
- - application/json
373
- accept-encoding:
374
- - gzip, deflate
375
- x-heroku-api-version:
376
- - '2'
377
- user-agent:
378
- - heroku-gem/2.25.0
379
- x-ruby-version:
380
- - 1.9.3
381
- x-ruby-platform:
382
- - i686-linux
383
- authorization:
384
- - Basic OjYzMWJiYjJhYWI1NjhkOTNmMTk3Mzc1MDY5NjM0N2Y3ZjlmZWE4ZjY=
385
- response:
386
- status:
387
- code: 200
388
- message: !binary |-
389
- T0s=
390
- headers:
391
- !binary "c2VydmVy":
392
- - !binary |-
393
- bmdpbng=
394
- !binary "ZGF0ZQ==":
395
- - !binary |-
396
- TW9uLCAwNyBNYXkgMjAxMiAxOTo1Mjo1MCBHTVQ=
397
- !binary "Y29udGVudC10eXBl":
398
- - !binary |-
399
- YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA==
400
- !binary "dHJhbnNmZXItZW5jb2Rpbmc=":
401
- - !binary |-
402
- Y2h1bmtlZA==
403
- !binary "Y29ubmVjdGlvbg==":
404
- - !binary |-
405
- a2VlcC1hbGl2ZQ==
406
- !binary "c3RhdHVz":
407
- - !binary |-
408
- MjAwIE9L
409
- !binary "ZXRhZw==":
410
- - !binary |-
411
- IjE2YWY5NTFmMjk3ZTYwMzBiMTUwZmZlNDM3M2UwY2VjIg==
412
- !binary "eC1ydW50aW1l":
413
- - !binary |-
414
- OTY=
415
- !binary "Y2FjaGUtY29udHJvbA==":
416
- - !binary |-
417
- cHJpdmF0ZSwgbWF4LWFnZT0wLCBtdXN0LXJldmFsaWRhdGU=
418
- !binary "c3RyaWN0LXRyYW5zcG9ydC1zZWN1cml0eQ==":
419
- - !binary |-
420
- bWF4LWFnZT01MDA=
421
- !binary "Y29udGVudC1lbmNvZGluZw==":
422
- - !binary |-
423
- Z3ppcA==
424
- body:
425
- encoding: ASCII-8BIT
426
- string: !binary |-
427
- H4sIAAAAAAAAA7yUy07DMBBFf8WyWKbUjzpx/BNUiB1CkZtMaNTECbZTKIh/
428
- x2YBq0L6UOTV3LHH9tHcefzArh2fscKirmVJZKEBcpxgPQyF0R2EjNt0Q1DG
429
- oalCtOI5yYiQQSn7rtMmipvRVC0geIMSWd20Djmwe7DIbxuDFgO6Wd/dP8Sy
430
- pW96E06MseRg+xKcC+ErbG5pUCyYCt73/eiK0bZYmbFtEwytHhyEiySlqyzB
431
- /jDEh61drOi9LrcxWevWQSwK3h8K57WH74tQ3VvE2DZs/hVD4K02ronvgarQ
432
- PsiMULYkYklSRFeKEcUYWoTfEvyZnA5qxUgqJLk+KPY/qEzmgp0Hip4MSqRK
433
- ZJeAEjKs7Cgo11Swa17QokRU/sWmtzuwU/ookykl8+ARijDF84vxHDfciXgm
434
- dI8klNK5bMYzxeUFeHJJpUzT69uMTwEl8nS2eZQrzs8HlYqcCJ5dzWZT8IQJ
435
- OFsfkeC0nz56+gIAAP//AwBcT1uH2QYAAA==
436
- http_version: !binary |-
437
- MS4x
438
- recorded_at: Mon, 07 May 2012 19:50:42 GMT
439
- - request:
440
- method: get
441
- uri: https://:FakeApiKey@api.heroku.com/apps/sbmp/ps
442
- body:
443
- encoding: US-ASCII
444
- string: ''
445
- headers:
446
- accept:
447
- - application/json
448
- accept-encoding:
449
- - gzip, deflate
450
- x-heroku-api-version:
451
- - '2'
452
- user-agent:
453
- - heroku-gem/2.25.0
454
- x-ruby-version:
455
- - 1.9.3
456
- x-ruby-platform:
457
- - i686-linux
458
- authorization:
459
- - Basic OjYzMWJiYjJhYWI1NjhkOTNmMTk3Mzc1MDY5NjM0N2Y3ZjlmZWE4ZjY=
460
- response:
461
- status:
462
- code: 200
463
- message: !binary |-
464
- T0s=
465
- headers:
466
- !binary "c2VydmVy":
467
- - !binary |-
468
- bmdpbng=
469
- !binary "ZGF0ZQ==":
470
- - !binary |-
471
- TW9uLCAwNyBNYXkgMjAxMiAxOTo1Mzo0NCBHTVQ=
472
- !binary "Y29udGVudC10eXBl":
473
- - !binary |-
474
- YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA==
475
- !binary "dHJhbnNmZXItZW5jb2Rpbmc=":
476
- - !binary |-
477
- Y2h1bmtlZA==
478
- !binary "Y29ubmVjdGlvbg==":
479
- - !binary |-
480
- a2VlcC1hbGl2ZQ==
481
- !binary "c3RhdHVz":
482
- - !binary |-
483
- MjAwIE9L
484
- !binary "ZXRhZw==":
485
- - !binary |-
486
- IjI4MTBmZDg5NWFkODQyMTk5YTBkM2FjMDE5ODY2ZDlkIg==
487
- !binary "eC1ydW50aW1l":
488
- - !binary |-
489
- MTAy
490
- !binary "Y2FjaGUtY29udHJvbA==":
491
- - !binary |-
492
- cHJpdmF0ZSwgbWF4LWFnZT0wLCBtdXN0LXJldmFsaWRhdGU=
493
- !binary "c3RyaWN0LXRyYW5zcG9ydC1zZWN1cml0eQ==":
494
- - !binary |-
495
- bWF4LWFnZT01MDA=
496
- !binary "Y29udGVudC1lbmNvZGluZw==":
497
- - !binary |-
498
- Z3ppcA==
499
- body:
500
- encoding: ASCII-8BIT
501
- string: !binary |-
502
- H4sIAAAAAAAAA7yUy07DMBBFf8WyWKZ07NSO45+gQuwQitxkQqPmhe0UCuLf
503
- cVjAqpA+FHk118kd52SuHz+oq4dnqqkoS5WDygxiSiNq+j5rTYNhx22aPihD
504
- XxWhWsUpJCBUUPKuaUw7ipuhLWok+IY5saaqHXFo92iJ31YtWfTkZn13/zDa
505
- 5r7q2vDGMFr2tsvRuVC+4uaWBcViW+D7vhtcNtia6nao64hibXqHoZFiHFhE
506
- /aEfD7Z2o6P3Jt+Om6WpHY6m6P0hc954/G5Eys4Szrfh4V8xFN6a1lXjebDI
507
- jA9yMOdLEEuQhK00B805WYSvBfoZnQ5qxUEKBdcHxf8HlaQAyXmg2MmghNQi
508
- uQSUUGElR0G5qsBd9UIWOWHqLzad3aGdMkeJknI1Dx6hges4vRjP8cCdiGfC
509
- 9ChgUs4VszjRsboAT6qYCr/z+jGLp4CSAma7j1Idx+eDkiIFESdXi9kUPJwx
510
- MRceCEn7maOnLwAAAP//AwCjlgWN2QYAAA==
511
- http_version: !binary |-
512
- MS4x
513
- recorded_at: Mon, 07 May 2012 19:51:38 GMT
514
- - request:
515
- method: get
516
- uri: https://:FakeApiKey@api.heroku.com/apps/sbmp/ps
517
- body:
518
- encoding: US-ASCII
519
- string: ''
520
- headers:
521
- accept:
522
- - application/json
523
- accept-encoding:
524
- - gzip, deflate
525
- x-heroku-api-version:
526
- - '2'
527
- user-agent:
528
- - heroku-gem/2.25.0
529
- x-ruby-version:
530
- - 1.9.3
531
- x-ruby-platform:
532
- - i686-linux
533
- authorization:
534
- - Basic OjYzMWJiYjJhYWI1NjhkOTNmMTk3Mzc1MDY5NjM0N2Y3ZjlmZWE4ZjY=
535
- response:
536
- status:
537
- code: 200
538
- message: !binary |-
539
- T0s=
540
- headers:
541
- !binary "c2VydmVy":
542
- - !binary |-
543
- bmdpbng=
544
- !binary "ZGF0ZQ==":
545
- - !binary |-
546
- TW9uLCAwNyBNYXkgMjAxMiAxOTo1Mzo0NSBHTVQ=
547
- !binary "Y29udGVudC10eXBl":
548
- - !binary |-
549
- YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA==
550
- !binary "dHJhbnNmZXItZW5jb2Rpbmc=":
551
- - !binary |-
552
- Y2h1bmtlZA==
553
- !binary "Y29ubmVjdGlvbg==":
554
- - !binary |-
555
- a2VlcC1hbGl2ZQ==
556
- !binary "c3RhdHVz":
557
- - !binary |-
558
- MjAwIE9L
559
- !binary "ZXRhZw==":
560
- - !binary |-
561
- ImQ0MWNmNzhkNzFjZjdmZmI5NjZhOTcyZGQwMDM5NWY3Ig==
562
- !binary "eC1ydW50aW1l":
563
- - !binary |-
564
- MTAy
565
- !binary "Y2FjaGUtY29udHJvbA==":
566
- - !binary |-
567
- cHJpdmF0ZSwgbWF4LWFnZT0wLCBtdXN0LXJldmFsaWRhdGU=
568
- !binary "c3RyaWN0LXRyYW5zcG9ydC1zZWN1cml0eQ==":
569
- - !binary |-
570
- bWF4LWFnZT01MDA=
571
- !binary "Y29udGVudC1lbmNvZGluZw==":
572
- - !binary |-
573
- Z3ppcA==
574
- body:
575
- encoding: ASCII-8BIT
576
- string: !binary |-
577
- H4sIAAAAAAAAA7yU207EIBCGX4UQL7vuQBdKeQk3xjtjGradus32JNDV1fju
578
- Ui/0arV7SMPV/MAMfMzP4wd19fBMNRVlqXJQmUFMaURN32etaTDMuE3TB2Xo
579
- qyJEqziFBIQKSt41jWlHcTO0RY0E3zAn1lS1Iw7tHi3x26oli57crO/uH8a0
580
- ua+6NuwYxpS97XJ0LoSvuLllQbHYFvi+7waXDbamuh3qOqJYm95hKKQYBx5R
581
- f+jHg63dmNF7k2/HydLUDsek6P0hc954/C5Eys4Szrdh8a8YAm9N66rxPFhk
582
- xgeZA+NLEEuQhK00B805WYTbAv2MTge14iCFguuD4v+DSlIAdR4odjIoIbVI
583
- LgElVBjJUVCuKnBXvZBFTpj6i01nd2in9FGipBTz4BEauI7Ti/EcN9yJeCZ0
584
- jwImk7lsFic6VhfgSRVT4Tmvb7N4Cigp2Gz/Uarj+HxQUqQg4uRqNpuChzMm
585
- 58IDwWk/ffT0BQAA//8DALTDAA/ZBgAA
586
- http_version: !binary |-
587
- MS4x
588
- recorded_at: Mon, 07 May 2012 19:51:39 GMT
589
- - request:
590
- method: get
591
- uri: https://:FakeApiKey@api.heroku.com/apps/sbmp/ps
592
- body:
593
- encoding: US-ASCII
594
- string: ''
595
- headers:
596
- accept:
597
- - application/json
598
- accept-encoding:
599
- - gzip, deflate
600
- x-heroku-api-version:
601
- - '2'
602
- user-agent:
603
- - heroku-gem/2.25.0
604
- x-ruby-version:
605
- - 1.9.3
606
- x-ruby-platform:
607
- - i686-linux
608
- authorization:
609
- - Basic OjYzMWJiYjJhYWI1NjhkOTNmMTk3Mzc1MDY5NjM0N2Y3ZjlmZWE4ZjY=
610
- response:
611
- status:
612
- code: 200
613
- message: !binary |-
614
- T0s=
615
- headers:
616
- !binary "c2VydmVy":
617
- - !binary |-
618
- bmdpbng=
619
- !binary "ZGF0ZQ==":
620
- - !binary |-
621
- TW9uLCAwNyBNYXkgMjAxMiAxOTo1Mzo0NiBHTVQ=
622
- !binary "Y29udGVudC10eXBl":
623
- - !binary |-
624
- YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA==
625
- !binary "dHJhbnNmZXItZW5jb2Rpbmc=":
626
- - !binary |-
627
- Y2h1bmtlZA==
628
- !binary "Y29ubmVjdGlvbg==":
629
- - !binary |-
630
- a2VlcC1hbGl2ZQ==
631
- !binary "c3RhdHVz":
632
- - !binary |-
633
- MjAwIE9L
634
- !binary "ZXRhZw==":
635
- - !binary |-
636
- IjU3ODQzZDZhNWJkMTk1NjZjNmU4YWYzNTFkZjI0NTNmIg==
637
- !binary "eC1ydW50aW1l":
638
- - !binary |-
639
- OTc=
640
- !binary "Y2FjaGUtY29udHJvbA==":
641
- - !binary |-
642
- cHJpdmF0ZSwgbWF4LWFnZT0wLCBtdXN0LXJldmFsaWRhdGU=
643
- !binary "c3RyaWN0LXRyYW5zcG9ydC1zZWN1cml0eQ==":
644
- - !binary |-
645
- bWF4LWFnZT01MDA=
646
- !binary "Y29udGVudC1lbmNvZGluZw==":
647
- - !binary |-
648
- Z3ppcA==
649
- body:
650
- encoding: ASCII-8BIT
651
- string: !binary |-
652
- H4sIAAAAAAAAA7yU204DIRCGX4UQL7d2gMKyvISN8c6YDd2d2k33JLDVanx3
653
- WS/0qro9pOFqfmAGPubn8YP6enimhsr1Whegc4uY0YTavs9b22Cc8aumj8rQ
654
- V2WMFiKDFKSOStE1jW1HcTW0ZY0E37Agzla1Jx7dDh0Jm6ols57cLO/uH8a0
655
- Rai6Nu4YxpS96wr0PoavuLplUXHYlvi+6wafD66mph3qOqFY295jLKQZB5HQ
656
- sO/Hgy39mDEEW2zGybWtPY5JMYR97oMN+F2IrDtHON/Exb9iDIKzra/G82CZ
657
- 2xBlDozPQc5BEbYwHAznZBZvC/QzOR7UgoOSGi4Piv8PKs0A9Gmg2NGgpDIy
658
- PQeU1HGkB0H5qsRt9UJmBWH6Lzad26Kb0kepVkpdB480wI3IzsZz2HBH4pnQ
659
- PRqYOrF7jreZSI3QZ+DJNNPxOS9vMzEFlJL8av9RZoQ4HZSSGUiRXsxmU/Bw
660
- xtJr4YHotJ8+evoCAAD//wMAXgb+4tkGAAA=
661
- http_version: !binary |-
662
- MS4x
663
- recorded_at: Mon, 07 May 2012 19:51:39 GMT
664
- recorded_with: VCR 2.1.1