s3_website_monadic 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.travis.yml +3 -0
  4. data/Gemfile +3 -0
  5. data/LICENSE +42 -0
  6. data/README.md +451 -0
  7. data/Rakefile +24 -0
  8. data/additional-docs/example-configurations.md +62 -0
  9. data/additional-docs/setting-up-aws-credentials.md +51 -0
  10. data/assembly.sbt +3 -0
  11. data/bin/s3_website +80 -0
  12. data/build.sbt +33 -0
  13. data/changelog.md +215 -0
  14. data/features/as-library.feature +29 -0
  15. data/features/cassettes/cucumber_tags/create-redirect.yml +384 -0
  16. data/features/cassettes/cucumber_tags/empty-bucket.yml +89 -0
  17. data/features/cassettes/cucumber_tags/new-and-changed-files.yml +303 -0
  18. data/features/cassettes/cucumber_tags/new-files-for-sydney.yml +211 -0
  19. data/features/cassettes/cucumber_tags/new-files.yml +355 -0
  20. data/features/cassettes/cucumber_tags/no-new-or-changed-files.yml +359 -0
  21. data/features/cassettes/cucumber_tags/one-file-to-delete.yml +390 -0
  22. data/features/cassettes/cucumber_tags/only-changed-files.yml +411 -0
  23. data/features/cassettes/cucumber_tags/s3-and-cloudfront-after-deleting-a-file.yml +434 -0
  24. data/features/cassettes/cucumber_tags/s3-and-cloudfront-when-updating-a-file.yml +435 -0
  25. data/features/cassettes/cucumber_tags/s3-and-cloudfront.yml +290 -0
  26. data/features/cloudfront.feature +54 -0
  27. data/features/command-line-help.feature +54 -0
  28. data/features/delete.feature +19 -0
  29. data/features/error_reporting.feature +24 -0
  30. data/features/instructions-for-new-user.feature +154 -0
  31. data/features/jekyll-support.feature +20 -0
  32. data/features/nanoc-support.feature +20 -0
  33. data/features/push.feature +115 -0
  34. data/features/redirects.feature +14 -0
  35. data/features/security.feature +15 -0
  36. data/features/step_definitions/steps.rb +86 -0
  37. data/features/support/env.rb +26 -0
  38. data/features/support/test_site_dirs/cdn-powered.blog.fi/_site/css/styles.css +3 -0
  39. data/features/support/test_site_dirs/cdn-powered.blog.fi/_site/index.html +5 -0
  40. data/features/support/test_site_dirs/cdn-powered.blog.fi/s3_website.yml +4 -0
  41. data/features/support/test_site_dirs/cdn-powered.when-deleted-a-file.blog.fi/_site/index.html +10 -0
  42. data/features/support/test_site_dirs/cdn-powered.when-deleted-a-file.blog.fi/s3_website.yml +5 -0
  43. data/features/support/test_site_dirs/cdn-powered.with-one-change.blog.fi/_site/css/styles.css +3 -0
  44. data/features/support/test_site_dirs/cdn-powered.with-one-change.blog.fi/_site/index.html +10 -0
  45. data/features/support/test_site_dirs/cdn-powered.with-one-change.blog.fi/s3_website.yml +4 -0
  46. data/features/support/test_site_dirs/create-redirects/_site/.gitkeep +0 -0
  47. data/features/support/test_site_dirs/create-redirects/s3_website.yml +6 -0
  48. data/features/support/test_site_dirs/ignored-files.com/_site/css/styles.css +4 -0
  49. data/features/support/test_site_dirs/ignored-files.com/_site/index.html +8 -0
  50. data/features/support/test_site_dirs/ignored-files.com/s3_website.yml +5 -0
  51. data/features/support/test_site_dirs/index-and-assets.blog.fi/_site/assets/picture.gif +0 -0
  52. data/features/support/test_site_dirs/index-and-assets.blog.fi/_site/css/styles.css +3 -0
  53. data/features/support/test_site_dirs/index-and-assets.blog.fi/_site/index.html +5 -0
  54. data/features/support/test_site_dirs/index-and-assets.blog.fi/s3_website.yml +3 -0
  55. data/features/support/test_site_dirs/jekyllrb.com/_site/css/styles.css +3 -0
  56. data/features/support/test_site_dirs/jekyllrb.com/_site/index.html +5 -0
  57. data/features/support/test_site_dirs/jekyllrb.com/s3_website.yml +3 -0
  58. data/features/support/test_site_dirs/my.blog-with-clean-urls.com/_site/css/styles.css +3 -0
  59. data/features/support/test_site_dirs/my.blog-with-clean-urls.com/_site/index +5 -0
  60. data/features/support/test_site_dirs/my.blog-with-clean-urls.com/s3_website.yml +3 -0
  61. data/features/support/test_site_dirs/my.blog.com/_site/css/styles.css +3 -0
  62. data/features/support/test_site_dirs/my.blog.com/_site/index.html +5 -0
  63. data/features/support/test_site_dirs/my.blog.com/s3_website.yml +3 -0
  64. data/features/support/test_site_dirs/my.sydney.blog.au/_site/css/styles.css +3 -0
  65. data/features/support/test_site_dirs/my.sydney.blog.au/_site/index.html +5 -0
  66. data/features/support/test_site_dirs/my.sydney.blog.au/s3_website.yml +4 -0
  67. data/features/support/test_site_dirs/nanoc.ws/public/output/css/styles.css +3 -0
  68. data/features/support/test_site_dirs/nanoc.ws/public/output/index.html +5 -0
  69. data/features/support/test_site_dirs/nanoc.ws/s3_website.yml +3 -0
  70. data/features/support/test_site_dirs/new-and-changed-files.com/_site/css/styles.css +4 -0
  71. data/features/support/test_site_dirs/new-and-changed-files.com/_site/index.html +8 -0
  72. data/features/support/test_site_dirs/new-and-changed-files.com/s3_website.yml +3 -0
  73. data/features/support/test_site_dirs/no-new-or-changed-files.com/_site/css/styles.css +3 -0
  74. data/features/support/test_site_dirs/no-new-or-changed-files.com/_site/index.html +5 -0
  75. data/features/support/test_site_dirs/no-new-or-changed-files.com/s3_website.yml +3 -0
  76. data/features/support/test_site_dirs/only-changed-files.com/_site/css/styles.css +3 -0
  77. data/features/support/test_site_dirs/only-changed-files.com/_site/index.html +9 -0
  78. data/features/support/test_site_dirs/only-changed-files.com/s3_website.yml +3 -0
  79. data/features/support/test_site_dirs/site-that-contains-s3-website-file.com/_site/s3_website.yml +3 -0
  80. data/features/support/test_site_dirs/site-that-contains-s3-website-file.com/s3_website.yml +3 -0
  81. data/features/support/test_site_dirs/site-with-text-doc.com/_site/file.txt +1 -0
  82. data/features/support/test_site_dirs/site.with.css-maxage.com/_site/css/styles.css +3 -0
  83. data/features/support/test_site_dirs/site.with.css-maxage.com/_site/index.html +5 -0
  84. data/features/support/test_site_dirs/site.with.css-maxage.com/s3_website.yml +5 -0
  85. data/features/support/test_site_dirs/site.with.gzipped-and-max-aged-content.com/_site/css/styles.css +3 -0
  86. data/features/support/test_site_dirs/site.with.gzipped-and-max-aged-content.com/_site/index.html +5 -0
  87. data/features/support/test_site_dirs/site.with.gzipped-and-max-aged-content.com/s3_website.yml +5 -0
  88. data/features/support/test_site_dirs/site.with.gzipped-html.com/_site/css/styles.css +3 -0
  89. data/features/support/test_site_dirs/site.with.gzipped-html.com/_site/index.html +5 -0
  90. data/features/support/test_site_dirs/site.with.gzipped-html.com/s3_website.yml +5 -0
  91. data/features/support/test_site_dirs/site.with.maxage.com/_site/css/styles.css +3 -0
  92. data/features/support/test_site_dirs/site.with.maxage.com/_site/index.html +5 -0
  93. data/features/support/test_site_dirs/site.with.maxage.com/s3_website.yml +4 -0
  94. data/features/support/test_site_dirs/unpublish-a-post.com/_site/css/styles.css +3 -0
  95. data/features/support/test_site_dirs/unpublish-a-post.com/s3_website.yml +3 -0
  96. data/features/support/vcr.rb +20 -0
  97. data/features/website-performance.feature +57 -0
  98. data/lib/cloudfront/invalidator.rb +37 -0
  99. data/lib/s3_website/config_loader.rb +55 -0
  100. data/lib/s3_website/diff_helper.rb +113 -0
  101. data/lib/s3_website/endpoint.rb +37 -0
  102. data/lib/s3_website/errors.rb +42 -0
  103. data/lib/s3_website/jekyll.rb +5 -0
  104. data/lib/s3_website/keyboard.rb +27 -0
  105. data/lib/s3_website/nanoc.rb +5 -0
  106. data/lib/s3_website/parallelism.rb +25 -0
  107. data/lib/s3_website/paths.rb +39 -0
  108. data/lib/s3_website/retry.rb +19 -0
  109. data/lib/s3_website/tasks.rb +36 -0
  110. data/lib/s3_website/upload.rb +137 -0
  111. data/lib/s3_website/uploader.rb +177 -0
  112. data/lib/s3_website.rb +34 -0
  113. data/project/assembly.sbt +1 -0
  114. data/project/build.properties +0 -0
  115. data/project/plugins.sbt +1 -0
  116. data/project/sbt-launch-0.13.2.jar +0 -0
  117. data/resources/configuration_file_template.yml +56 -0
  118. data/s3_website.gemspec +41 -0
  119. data/sbt +4 -0
  120. data/spec/lib/cloudfront/invalidator_spec.rb +60 -0
  121. data/spec/lib/config_loader_spec.rb +20 -0
  122. data/spec/lib/endpoint_spec.rb +31 -0
  123. data/spec/lib/error_spec.rb +21 -0
  124. data/spec/lib/keyboard_spec.rb +62 -0
  125. data/spec/lib/parallelism_spec.rb +81 -0
  126. data/spec/lib/paths_spec.rb +7 -0
  127. data/spec/lib/retry_spec.rb +34 -0
  128. data/spec/lib/upload_spec.rb +303 -0
  129. data/spec/lib/uploader_spec.rb +37 -0
  130. data/spec/sample_files/hyde_site/_site/.vimrc +5 -0
  131. data/spec/sample_files/hyde_site/_site/css/styles.css +3 -0
  132. data/spec/sample_files/hyde_site/_site/index.html +1 -0
  133. data/spec/sample_files/hyde_site/s3_website.yml +3 -0
  134. data/spec/sample_files/tokyo_site/_site/.vimrc +5 -0
  135. data/spec/sample_files/tokyo_site/_site/css/styles.css +3 -0
  136. data/spec/sample_files/tokyo_site/_site/index.html +1 -0
  137. data/spec/sample_files/tokyo_site/s3_website.yml +4 -0
  138. data/spec/spec_helper.rb +1 -0
  139. data/src/main/scala/s3/website/CloudFront.scala +96 -0
  140. data/src/main/scala/s3/website/Diff.scala +42 -0
  141. data/src/main/scala/s3/website/Implicits.scala +7 -0
  142. data/src/main/scala/s3/website/Push.scala +191 -0
  143. data/src/main/scala/s3/website/Ruby.scala +12 -0
  144. data/src/main/scala/s3/website/S3.scala +139 -0
  145. data/src/main/scala/s3/website/model/Config.scala +152 -0
  146. data/src/main/scala/s3/website/model/S3Endpoint.scala +22 -0
  147. data/src/main/scala/s3/website/model/Site.scala +68 -0
  148. data/src/main/scala/s3/website/model/errors.scala +11 -0
  149. data/src/main/scala/s3/website/model/push.scala +192 -0
  150. data/src/test/scala/s3/website/S3WebsiteSpec.scala +445 -0
  151. metadata +508 -0
@@ -0,0 +1,435 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://s3.amazonaws.com/s3-website-test.net?max-keys=1000
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Content-Type:
11
+ - ''
12
+ User-Agent:
13
+ - aws-sdk-ruby/1.8.5 ruby/1.9.3 x86_64-darwin11.4.0
14
+ Date:
15
+ - Thu, 14 Mar 2013 21:09:11 GMT
16
+ Authorization:
17
+ - AWS :soaBeFFguXr8GDcK+lO/FG9e+ws=
18
+ Accept:
19
+ - ! '*/*'
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ X-Amz-Id-2:
26
+ - zzn0KEir6mrMSeesP2Mi7Vxs4C2Dna3o8xe/rkcNtlUY7DNBGvnuNYTAb4vnPeVC
27
+ X-Amz-Request-Id:
28
+ - 12A222C926CE26BB
29
+ Date:
30
+ - Thu, 14 Mar 2013 21:09:12 GMT
31
+ Content-Type:
32
+ - application/xml
33
+ Transfer-Encoding:
34
+ - chunked
35
+ Server:
36
+ - AmazonS3
37
+ body:
38
+ encoding: US-ASCII
39
+ string: ! '<?xml version="1.0" encoding="UTF-8"?>
40
+
41
+ <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Name>s3-website-test.net</Name><Prefix></Prefix><Marker></Marker><MaxKeys>1000</MaxKeys><IsTruncated>false</IsTruncated><Contents><Key>css/styles.css</Key><LastModified>2013-03-14T20:58:31.000Z</LastModified><ETag>&quot;8fcf43a38cbf0c502f029a50645f2374&quot;</ETag><Size>10</Size><Owner><ID>3855ebae0f370c3dd0c8d8031863792112bd2a2cb18fa310d3f463ae0dea62f1</ID><DisplayName>83</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents><Contents><Key>index.html</Key><LastModified>2013-03-14T21:07:37.000Z</LastModified><ETag>&quot;8a8892a2b0fad281f26c0dedbff7011a&quot;</ETag><Size>60</Size><Owner><ID>3855ebae0f370c3dd0c8d8031863792112bd2a2cb18fa310d3f463ae0dea62f1</ID><DisplayName>83</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents></ListBucketResult>'
42
+ http_version:
43
+ recorded_at: Thu, 14 Mar 2013 21:09:13 GMT
44
+ - request:
45
+ method: head
46
+ uri: https://s3.amazonaws.com/s3-website-test.net/css/styles.css
47
+ body:
48
+ encoding: US-ASCII
49
+ string: ''
50
+ headers:
51
+ Content-Type:
52
+ - ''
53
+ User-Agent:
54
+ - aws-sdk-ruby/1.8.5 ruby/1.9.3 x86_64-darwin11.4.0
55
+ Date:
56
+ - Thu, 14 Mar 2013 21:09:13 GMT
57
+ Authorization:
58
+ - AWS :rdmhJoBxkZwEkqyIslS8davNFag=
59
+ Accept:
60
+ - ! '*/*'
61
+ response:
62
+ status:
63
+ code: 200
64
+ message: OK
65
+ headers:
66
+ X-Amz-Id-2:
67
+ - cVvELzeMoVfyVCTYhSXdVO7b/IdH1EYSCmk6LFmjOBGrsyekznAHw80eSYdkvQPJ
68
+ X-Amz-Request-Id:
69
+ - AF624502520EB9CB
70
+ Date:
71
+ - Thu, 14 Mar 2013 21:09:13 GMT
72
+ Last-Modified:
73
+ - Thu, 14 Mar 2013 20:58:31 GMT
74
+ Etag:
75
+ - ! '"8fcf43a38cbf0c502f029a50645f2374"'
76
+ Accept-Ranges:
77
+ - bytes
78
+ Content-Type:
79
+ - text/css
80
+ Content-Length:
81
+ - '10'
82
+ Server:
83
+ - AmazonS3
84
+ body:
85
+ encoding: US-ASCII
86
+ string: ''
87
+ http_version:
88
+ recorded_at: Thu, 14 Mar 2013 21:09:13 GMT
89
+ - request:
90
+ method: head
91
+ uri: https://s3.amazonaws.com/s3-website-test.net/css/styles.css
92
+ body:
93
+ encoding: US-ASCII
94
+ string: ''
95
+ headers:
96
+ Content-Type:
97
+ - ''
98
+ User-Agent:
99
+ - aws-sdk-ruby/1.8.5 ruby/1.9.3 x86_64-darwin11.4.0
100
+ Date:
101
+ - Thu, 14 Mar 2013 21:09:13 GMT
102
+ Authorization:
103
+ - AWS :rdmhJoBxkZwEkqyIslS8davNFag=
104
+ Accept:
105
+ - ! '*/*'
106
+ response:
107
+ status:
108
+ code: 200
109
+ message: OK
110
+ headers:
111
+ X-Amz-Id-2:
112
+ - FDbmup86hNli+6+83cdqXo5EZGWYMCSw9E1iGJxaVvIopfsV90/zXUkRBipLLezR
113
+ X-Amz-Request-Id:
114
+ - 8F03FC801B7F349F
115
+ Date:
116
+ - Thu, 14 Mar 2013 21:09:14 GMT
117
+ Last-Modified:
118
+ - Thu, 14 Mar 2013 20:58:31 GMT
119
+ Etag:
120
+ - ! '"8fcf43a38cbf0c502f029a50645f2374"'
121
+ Accept-Ranges:
122
+ - bytes
123
+ Content-Type:
124
+ - text/css
125
+ Content-Length:
126
+ - '10'
127
+ Server:
128
+ - AmazonS3
129
+ body:
130
+ encoding: US-ASCII
131
+ string: ''
132
+ http_version:
133
+ recorded_at: Thu, 14 Mar 2013 21:09:14 GMT
134
+ - request:
135
+ method: head
136
+ uri: https://s3.amazonaws.com/s3-website-test.net/css/styles.css
137
+ body:
138
+ encoding: US-ASCII
139
+ string: ''
140
+ headers:
141
+ Content-Type:
142
+ - ''
143
+ User-Agent:
144
+ - aws-sdk-ruby/1.8.5 ruby/1.9.3 x86_64-darwin11.4.0
145
+ Date:
146
+ - Thu, 14 Mar 2013 21:09:14 GMT
147
+ Authorization:
148
+ - AWS :udCmNNAaKi9j/H7qBRA7n1VshtE=
149
+ Accept:
150
+ - ! '*/*'
151
+ response:
152
+ status:
153
+ code: 200
154
+ message: OK
155
+ headers:
156
+ X-Amz-Id-2:
157
+ - dKygr4gAuGczsv+OliiwqXp48F1XO6/jNJNSX37bq/zVV1ZptIhZFU7hhwCuays9
158
+ X-Amz-Request-Id:
159
+ - 7CF9E120E453FB86
160
+ Date:
161
+ - Thu, 14 Mar 2013 21:09:14 GMT
162
+ Last-Modified:
163
+ - Thu, 14 Mar 2013 20:58:31 GMT
164
+ Etag:
165
+ - ! '"8fcf43a38cbf0c502f029a50645f2374"'
166
+ Accept-Ranges:
167
+ - bytes
168
+ Content-Type:
169
+ - text/css
170
+ Content-Length:
171
+ - '10'
172
+ Server:
173
+ - AmazonS3
174
+ body:
175
+ encoding: US-ASCII
176
+ string: ''
177
+ http_version:
178
+ recorded_at: Thu, 14 Mar 2013 21:09:15 GMT
179
+ - request:
180
+ method: head
181
+ uri: https://s3.amazonaws.com/s3-website-test.net/index.html
182
+ body:
183
+ encoding: US-ASCII
184
+ string: ''
185
+ headers:
186
+ Content-Type:
187
+ - ''
188
+ User-Agent:
189
+ - aws-sdk-ruby/1.8.5 ruby/1.9.3 x86_64-darwin11.4.0
190
+ Date:
191
+ - Thu, 14 Mar 2013 21:09:15 GMT
192
+ Authorization:
193
+ - AWS :9O2JwI9hQo7LIzrJayzzbZSG3bw=
194
+ Accept:
195
+ - ! '*/*'
196
+ response:
197
+ status:
198
+ code: 200
199
+ message: OK
200
+ headers:
201
+ X-Amz-Id-2:
202
+ - OtOeiq8HWzGcxd0A3SjZuE9I/ArtYEx2bUTEXife1d8utyW01WiBnTGMNT3UQJfI
203
+ X-Amz-Request-Id:
204
+ - 590A5622FD030E27
205
+ Date:
206
+ - Thu, 14 Mar 2013 21:09:15 GMT
207
+ Last-Modified:
208
+ - Thu, 14 Mar 2013 21:07:37 GMT
209
+ Etag:
210
+ - ! '"8a8892a2b0fad281f26c0dedbff7011a"'
211
+ Accept-Ranges:
212
+ - bytes
213
+ Content-Type:
214
+ - text/html; charset=utf-8
215
+ Content-Length:
216
+ - '60'
217
+ Server:
218
+ - AmazonS3
219
+ body:
220
+ encoding: US-ASCII
221
+ string: ''
222
+ http_version:
223
+ recorded_at: Thu, 14 Mar 2013 21:09:15 GMT
224
+ - request:
225
+ method: head
226
+ uri: https://s3.amazonaws.com/s3-website-test.net/index.html
227
+ body:
228
+ encoding: US-ASCII
229
+ string: ''
230
+ headers:
231
+ Content-Type:
232
+ - ''
233
+ User-Agent:
234
+ - aws-sdk-ruby/1.8.5 ruby/1.9.3 x86_64-darwin11.4.0
235
+ Date:
236
+ - Thu, 14 Mar 2013 21:09:15 GMT
237
+ Authorization:
238
+ - AWS :9O2JwI9hQo7LIzrJayzzbZSG3bw=
239
+ Accept:
240
+ - ! '*/*'
241
+ response:
242
+ status:
243
+ code: 200
244
+ message: OK
245
+ headers:
246
+ X-Amz-Id-2:
247
+ - gRmRRRyVO21B6KPOLNJqU6cp39dECZUSU0+cNk3NwwjqEmpuLkAdtDCiy8HzQUR3
248
+ X-Amz-Request-Id:
249
+ - 1E0DB7CF2FCF0551
250
+ Date:
251
+ - Thu, 14 Mar 2013 21:09:15 GMT
252
+ Last-Modified:
253
+ - Thu, 14 Mar 2013 21:07:37 GMT
254
+ Etag:
255
+ - ! '"8a8892a2b0fad281f26c0dedbff7011a"'
256
+ Accept-Ranges:
257
+ - bytes
258
+ Content-Type:
259
+ - text/html; charset=utf-8
260
+ Content-Length:
261
+ - '60'
262
+ Server:
263
+ - AmazonS3
264
+ body:
265
+ encoding: US-ASCII
266
+ string: ''
267
+ http_version:
268
+ recorded_at: Thu, 14 Mar 2013 21:09:16 GMT
269
+ - request:
270
+ method: head
271
+ uri: https://s3.amazonaws.com/s3-website-test.net/index.html
272
+ body:
273
+ encoding: US-ASCII
274
+ string: ''
275
+ headers:
276
+ Content-Type:
277
+ - ''
278
+ User-Agent:
279
+ - aws-sdk-ruby/1.8.5 ruby/1.9.3 x86_64-darwin11.4.0
280
+ Date:
281
+ - Thu, 14 Mar 2013 21:09:16 GMT
282
+ Authorization:
283
+ - AWS :RUq2RAR4W+AaY9sUq8v8b9au0Nk=
284
+ Accept:
285
+ - ! '*/*'
286
+ response:
287
+ status:
288
+ code: 200
289
+ message: OK
290
+ headers:
291
+ X-Amz-Id-2:
292
+ - 6LU+afXQ5WTDdkEP3CxR6Z8GQYK60RA8MT7zF/Dl5hEyxVTW/kNo8reIuS7Zi7vH
293
+ X-Amz-Request-Id:
294
+ - 8DBCDB649318E12E
295
+ Date:
296
+ - Thu, 14 Mar 2013 21:09:16 GMT
297
+ Last-Modified:
298
+ - Thu, 14 Mar 2013 21:07:37 GMT
299
+ Etag:
300
+ - ! '"8a8892a2b0fad281f26c0dedbff7011a"'
301
+ Accept-Ranges:
302
+ - bytes
303
+ Content-Type:
304
+ - text/html; charset=utf-8
305
+ Content-Length:
306
+ - '60'
307
+ Server:
308
+ - AmazonS3
309
+ body:
310
+ encoding: US-ASCII
311
+ string: ''
312
+ http_version:
313
+ recorded_at: Thu, 14 Mar 2013 21:09:16 GMT
314
+ - request:
315
+ method: put
316
+ uri: https://s3.amazonaws.com/s3-website-test.net/index.html
317
+ body:
318
+ encoding: UTF-8
319
+ string: ! "<html>\n <head>\n <title>hello!</title>\n </head>\n <body>\n
320
+ \ This is something for a change!\n\n\n </body>\n</html>\n"
321
+ headers:
322
+ Content-Type:
323
+ - text/html; charset=utf-8
324
+ Content-Length:
325
+ - '117'
326
+ User-Agent:
327
+ - aws-sdk-ruby/1.8.5 ruby/1.9.3 x86_64-darwin11.4.0
328
+ Date:
329
+ - Thu, 14 Mar 2013 21:09:16 GMT
330
+ Authorization:
331
+ - AWS :msdvHUWm19cmvzBag8//2Jdm+og=
332
+ Accept:
333
+ - ! '*/*'
334
+ response:
335
+ status:
336
+ code: 200
337
+ message: OK
338
+ headers:
339
+ X-Amz-Id-2:
340
+ - +6eVYl6REBCXuwNkDoqDU/wN6dFW4Pox8h+eEs5hr7j4dceFfnJwtuOjUS/SNgwr
341
+ X-Amz-Request-Id:
342
+ - 8511AD61F0E79B61
343
+ Date:
344
+ - Thu, 14 Mar 2013 21:09:17 GMT
345
+ Etag:
346
+ - ! '"af57cd2c1da58734749af7f49e38952c"'
347
+ Content-Length:
348
+ - '0'
349
+ Server:
350
+ - AmazonS3
351
+ body:
352
+ encoding: US-ASCII
353
+ string: ''
354
+ http_version:
355
+ recorded_at: Thu, 14 Mar 2013 21:09:17 GMT
356
+ - request:
357
+ method: get
358
+ uri: https://s3.amazonaws.com/s3-website-test.net?max-keys=1000
359
+ body:
360
+ encoding: US-ASCII
361
+ string: ''
362
+ headers:
363
+ Content-Type:
364
+ - ''
365
+ User-Agent:
366
+ - aws-sdk-ruby/1.8.5 ruby/1.9.3 x86_64-darwin11.4.0
367
+ Date:
368
+ - Thu, 14 Mar 2013 21:09:17 GMT
369
+ Authorization:
370
+ - AWS :mCwUmqasL5hcjFqQF5NIyB7PjVs=
371
+ Accept:
372
+ - ! '*/*'
373
+ response:
374
+ status:
375
+ code: 200
376
+ message: OK
377
+ headers:
378
+ X-Amz-Id-2:
379
+ - AO6zvCNsLxb7ZTUegXpLZLa5CtBggoAUfih2Eed7xEHbg//4zGIMsFLUDOuZGpjK
380
+ X-Amz-Request-Id:
381
+ - 395BBFB296E9329B
382
+ Date:
383
+ - Thu, 14 Mar 2013 21:09:17 GMT
384
+ Content-Type:
385
+ - application/xml
386
+ Transfer-Encoding:
387
+ - chunked
388
+ Server:
389
+ - AmazonS3
390
+ body:
391
+ encoding: US-ASCII
392
+ string: ! '<?xml version="1.0" encoding="UTF-8"?>
393
+
394
+ <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Name>s3-website-test.net</Name><Prefix></Prefix><Marker></Marker><MaxKeys>1000</MaxKeys><IsTruncated>false</IsTruncated><Contents><Key>css/styles.css</Key><LastModified>2013-03-14T20:58:31.000Z</LastModified><ETag>&quot;8fcf43a38cbf0c502f029a50645f2374&quot;</ETag><Size>10</Size><Owner><ID>3855ebae0f370c3dd0c8d8031863792112bd2a2cb18fa310d3f463ae0dea62f1</ID><DisplayName>83</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents><Contents><Key>index.html</Key><LastModified>2013-03-14T21:09:17.000Z</LastModified><ETag>&quot;af57cd2c1da58734749af7f49e38952c&quot;</ETag><Size>117</Size><Owner><ID>3855ebae0f370c3dd0c8d8031863792112bd2a2cb18fa310d3f463ae0dea62f1</ID><DisplayName>83</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents></ListBucketResult>'
395
+ http_version:
396
+ recorded_at: Thu, 14 Mar 2013 21:09:18 GMT
397
+ - request:
398
+ method: post
399
+ uri: https://cloudfront.amazonaws.com/2012-05-05/distribution/EIWJAF0IEWPBB/invalidation
400
+ body:
401
+ encoding: US-ASCII
402
+ string: ! "\n <InvalidationBatch>\n <Paths>\n <Quantity>2</Quantity>\n
403
+ \ <Items>\n [\"<Path>/index.html</Path>\", \"<Path>/</Path>\"]\n
404
+ \ </Items>\n </Paths>\n <CallerReference>1363295358</CallerReference>\n
405
+ \ </InvalidationBatch>\n "
406
+ headers:
407
+ X-Amz-Date:
408
+ - Thu, 14 Mar 2013 23:09:18 EET
409
+ Content-Type:
410
+ - text/xml
411
+ Authorization:
412
+ - AWS :dz7qMaZB7p3lTEoa8QGUKOnnhw0=
413
+ response:
414
+ status:
415
+ code: 201
416
+ message: Created
417
+ headers:
418
+ X-Amzn-Requestid:
419
+ - 6ea6468f-8ceb-11e2-9aac-b59691333d7e
420
+ Location:
421
+ - https://cloudfront.amazonaws.com/2012-05-05/distribution/EIWJAF0IEWPBB/invalidation/I7B3GUWN2MQME
422
+ Content-Type:
423
+ - text/xml
424
+ Content-Length:
425
+ - '379'
426
+ Date:
427
+ - Thu, 14 Mar 2013 21:09:17 GMT
428
+ body:
429
+ encoding: US-ASCII
430
+ string: ! '<?xml version="1.0"?>
431
+
432
+ <Invalidation xmlns="http://cloudfront.amazonaws.com/doc/2012-05-05/"><Id>I7B3GUWN2MQME</Id><Status>InProgress</Status><CreateTime>2013-03-14T21:09:17.783Z</CreateTime><InvalidationBatch><Paths><Quantity>2</Quantity><Items><Path>/</Path><Path>/index.html</Path></Items></Paths><CallerReference>1363295358</CallerReference></InvalidationBatch></Invalidation>'
433
+ http_version:
434
+ recorded_at: Thu, 14 Mar 2013 21:09:19 GMT
435
+ recorded_with: VCR 2.3.0