s3_website_monadic 0.0.1

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 (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,434 @@
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/2.0.0 x86_64-darwin11.4.2
14
+ Date:
15
+ - Thu, 02 Jan 2014 03:04:19 GMT
16
+ Authorization:
17
+ - AWS foo
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ Accept:
21
+ - '*/*'
22
+ response:
23
+ status:
24
+ code: 200
25
+ message: OK
26
+ headers:
27
+ X-Amz-Id-2:
28
+ - LGMrtCcqE1mXF7d5Jm0N1pfm00ZQbDHB0yQ1rSwb+b72oJgtN9GsQpgow9vsIxzV
29
+ X-Amz-Request-Id:
30
+ - 3E383D14CF35C182
31
+ Date:
32
+ - Thu, 02 Jan 2014 03:04:21 GMT
33
+ Content-Type:
34
+ - application/xml
35
+ Transfer-Encoding:
36
+ - chunked
37
+ Server:
38
+ - AmazonS3
39
+ body:
40
+ encoding: UTF-8
41
+ string: |-
42
+ <?xml version="1.0" encoding="UTF-8"?>
43
+ <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>2014-01-02T03:01:51.000Z</LastModified><ETag>&quot;8fcf43a38cbf0c502f029a50645f2374&quot;</ETag><Size>10</Size><Owner><ID>3855ebae0f370c3dd0c8d8031863792112bd2a2cb18fa310d3f463ae0dea62f1</ID><DisplayName>foo</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents><Contents><Key>index.html</Key><LastModified>2014-01-02T03:01:51.000Z</LastModified><ETag>&quot;af57cd2c1da58734749af7f49e38952c&quot;</ETag><Size>117</Size><Owner><ID>3855ebae0f370c3dd0c8d8031863792112bd2a2cb18fa310d3f463ae0dea62f1</ID><DisplayName>foo</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents></ListBucketResult>
44
+ http_version:
45
+ recorded_at: Thu, 02 Jan 2014 03:04:20 GMT
46
+ - request:
47
+ method: head
48
+ uri: https://s3.amazonaws.com/s3-website-test.net/css/styles.css
49
+ body:
50
+ encoding: US-ASCII
51
+ string: ''
52
+ headers:
53
+ Content-Type:
54
+ - ''
55
+ User-Agent:
56
+ - aws-sdk-ruby/1.8.5 ruby/2.0.0 x86_64-darwin11.4.2
57
+ Date:
58
+ - Thu, 02 Jan 2014 03:04:20 GMT
59
+ Authorization:
60
+ - AWS foo
61
+ Accept:
62
+ - '*/*'
63
+ response:
64
+ status:
65
+ code: 200
66
+ message: OK
67
+ headers:
68
+ X-Amz-Id-2:
69
+ - 4SqYK9CwhNDvyVNRMIH3uCE059aiNKxWv8nf5lrtBSQMbYtgiywsv8RXYGNvkhzQ
70
+ X-Amz-Request-Id:
71
+ - 4DDB98AC357B55D3
72
+ Date:
73
+ - Thu, 02 Jan 2014 03:04:21 GMT
74
+ Last-Modified:
75
+ - Thu, 02 Jan 2014 03:01:51 GMT
76
+ Etag:
77
+ - '"8fcf43a38cbf0c502f029a50645f2374"'
78
+ Accept-Ranges:
79
+ - bytes
80
+ Content-Type:
81
+ - text/css
82
+ Content-Length:
83
+ - '10'
84
+ Server:
85
+ - AmazonS3
86
+ body:
87
+ encoding: UTF-8
88
+ string: ''
89
+ http_version:
90
+ recorded_at: Thu, 02 Jan 2014 03:04:21 GMT
91
+ - request:
92
+ method: head
93
+ uri: https://s3.amazonaws.com/s3-website-test.net/css/styles.css
94
+ body:
95
+ encoding: US-ASCII
96
+ string: ''
97
+ headers:
98
+ Content-Type:
99
+ - ''
100
+ User-Agent:
101
+ - aws-sdk-ruby/1.8.5 ruby/2.0.0 x86_64-darwin11.4.2
102
+ Date:
103
+ - Thu, 02 Jan 2014 03:04:21 GMT
104
+ Authorization:
105
+ - AWS foo
106
+ Accept:
107
+ - '*/*'
108
+ response:
109
+ status:
110
+ code: 200
111
+ message: OK
112
+ headers:
113
+ X-Amz-Id-2:
114
+ - 4iU6lxZyo/Bse8SPYb0OVXieITKjQQJQ36stYVm1jjtQ2lCJ0jgllGsDtIoHyLsv
115
+ X-Amz-Request-Id:
116
+ - 2CFD4B5CB963E3A8
117
+ Date:
118
+ - Thu, 02 Jan 2014 03:04:22 GMT
119
+ Last-Modified:
120
+ - Thu, 02 Jan 2014 03:01:51 GMT
121
+ Etag:
122
+ - '"8fcf43a38cbf0c502f029a50645f2374"'
123
+ Accept-Ranges:
124
+ - bytes
125
+ Content-Type:
126
+ - text/css
127
+ Content-Length:
128
+ - '10'
129
+ Server:
130
+ - AmazonS3
131
+ body:
132
+ encoding: UTF-8
133
+ string: ''
134
+ http_version:
135
+ recorded_at: Thu, 02 Jan 2014 03:04:21 GMT
136
+ - request:
137
+ method: head
138
+ uri: https://s3.amazonaws.com/s3-website-test.net/css/styles.css
139
+ body:
140
+ encoding: US-ASCII
141
+ string: ''
142
+ headers:
143
+ Content-Type:
144
+ - ''
145
+ User-Agent:
146
+ - aws-sdk-ruby/1.8.5 ruby/2.0.0 x86_64-darwin11.4.2
147
+ Date:
148
+ - Thu, 02 Jan 2014 03:04:21 GMT
149
+ Authorization:
150
+ - AWS foo
151
+ Accept:
152
+ - '*/*'
153
+ response:
154
+ status:
155
+ code: 200
156
+ message: OK
157
+ headers:
158
+ X-Amz-Id-2:
159
+ - KHEnlG2H8YLMzbU793DQw/K1oz5ocndugXNNYybUI+GM0LE5GrwhvLNLS8cWVrBV
160
+ X-Amz-Request-Id:
161
+ - 916813B4A81ACBEC
162
+ Date:
163
+ - Thu, 02 Jan 2014 03:04:23 GMT
164
+ Last-Modified:
165
+ - Thu, 02 Jan 2014 03:01:51 GMT
166
+ Etag:
167
+ - '"8fcf43a38cbf0c502f029a50645f2374"'
168
+ Accept-Ranges:
169
+ - bytes
170
+ Content-Type:
171
+ - text/css
172
+ Content-Length:
173
+ - '10'
174
+ Server:
175
+ - AmazonS3
176
+ body:
177
+ encoding: UTF-8
178
+ string: ''
179
+ http_version:
180
+ recorded_at: Thu, 02 Jan 2014 03:04:22 GMT
181
+ - request:
182
+ method: head
183
+ uri: https://s3.amazonaws.com/s3-website-test.net/index.html
184
+ body:
185
+ encoding: US-ASCII
186
+ string: ''
187
+ headers:
188
+ Content-Type:
189
+ - ''
190
+ User-Agent:
191
+ - aws-sdk-ruby/1.8.5 ruby/2.0.0 x86_64-darwin11.4.2
192
+ Date:
193
+ - Thu, 02 Jan 2014 03:04:22 GMT
194
+ Authorization:
195
+ - AWS foo
196
+ Accept:
197
+ - '*/*'
198
+ response:
199
+ status:
200
+ code: 200
201
+ message: OK
202
+ headers:
203
+ X-Amz-Id-2:
204
+ - vw8vUUNW3sGOCy0A/MzU+waFY4c8Fk7J3+EQgAgW7U4AbPDrI6W4ydB7ZPXRmvHD
205
+ X-Amz-Request-Id:
206
+ - 3B8119FAA8C2A10F
207
+ Date:
208
+ - Thu, 02 Jan 2014 03:04:23 GMT
209
+ Last-Modified:
210
+ - Thu, 02 Jan 2014 03:01:51 GMT
211
+ Etag:
212
+ - '"af57cd2c1da58734749af7f49e38952c"'
213
+ Accept-Ranges:
214
+ - bytes
215
+ Content-Type:
216
+ - text/html; charset=utf-8
217
+ Content-Length:
218
+ - '117'
219
+ Server:
220
+ - AmazonS3
221
+ body:
222
+ encoding: UTF-8
223
+ string: ''
224
+ http_version:
225
+ recorded_at: Thu, 02 Jan 2014 03:04:22 GMT
226
+ - request:
227
+ method: head
228
+ uri: https://s3.amazonaws.com/s3-website-test.net/index.html
229
+ body:
230
+ encoding: US-ASCII
231
+ string: ''
232
+ headers:
233
+ Content-Type:
234
+ - ''
235
+ User-Agent:
236
+ - aws-sdk-ruby/1.8.5 ruby/2.0.0 x86_64-darwin11.4.2
237
+ Date:
238
+ - Thu, 02 Jan 2014 03:04:22 GMT
239
+ Authorization:
240
+ - AWS foo
241
+ Accept:
242
+ - '*/*'
243
+ response:
244
+ status:
245
+ code: 200
246
+ message: OK
247
+ headers:
248
+ X-Amz-Id-2:
249
+ - /bADSwdGx0itqr2eoceLa3CrNOIbB56fcHuR5ZUxY0SJfFO02qP9sAJ+troIb2/b
250
+ X-Amz-Request-Id:
251
+ - 9047D10D733C8F01
252
+ Date:
253
+ - Thu, 02 Jan 2014 03:04:24 GMT
254
+ Last-Modified:
255
+ - Thu, 02 Jan 2014 03:01:51 GMT
256
+ Etag:
257
+ - '"af57cd2c1da58734749af7f49e38952c"'
258
+ Accept-Ranges:
259
+ - bytes
260
+ Content-Type:
261
+ - text/html; charset=utf-8
262
+ Content-Length:
263
+ - '117'
264
+ Server:
265
+ - AmazonS3
266
+ body:
267
+ encoding: UTF-8
268
+ string: ''
269
+ http_version:
270
+ recorded_at: Thu, 02 Jan 2014 03:04:23 GMT
271
+ - request:
272
+ method: head
273
+ uri: https://s3.amazonaws.com/s3-website-test.net/index.html
274
+ body:
275
+ encoding: US-ASCII
276
+ string: ''
277
+ headers:
278
+ Content-Type:
279
+ - ''
280
+ User-Agent:
281
+ - aws-sdk-ruby/1.8.5 ruby/2.0.0 x86_64-darwin11.4.2
282
+ Date:
283
+ - Thu, 02 Jan 2014 03:04:23 GMT
284
+ Authorization:
285
+ - AWS foo
286
+ Accept:
287
+ - '*/*'
288
+ response:
289
+ status:
290
+ code: 200
291
+ message: OK
292
+ headers:
293
+ X-Amz-Id-2:
294
+ - fEznpLNhA2Es4G4kKTKyw2scdgjp743gZ0xcsBSch4kOic4tbhSCrnMmya9OYNa7
295
+ X-Amz-Request-Id:
296
+ - 2B65DDB496502465
297
+ Date:
298
+ - Thu, 02 Jan 2014 03:04:25 GMT
299
+ Last-Modified:
300
+ - Thu, 02 Jan 2014 03:01:51 GMT
301
+ Etag:
302
+ - '"af57cd2c1da58734749af7f49e38952c"'
303
+ Accept-Ranges:
304
+ - bytes
305
+ Content-Type:
306
+ - text/html; charset=utf-8
307
+ Content-Length:
308
+ - '117'
309
+ Server:
310
+ - AmazonS3
311
+ body:
312
+ encoding: UTF-8
313
+ string: ''
314
+ http_version:
315
+ recorded_at: Thu, 02 Jan 2014 03:04:24 GMT
316
+ - request:
317
+ method: get
318
+ uri: https://s3.amazonaws.com/s3-website-test.net?max-keys=1000
319
+ body:
320
+ encoding: US-ASCII
321
+ string: ''
322
+ headers:
323
+ Content-Type:
324
+ - ''
325
+ User-Agent:
326
+ - aws-sdk-ruby/1.8.5 ruby/2.0.0 x86_64-darwin11.4.2
327
+ Date:
328
+ - Thu, 02 Jan 2014 03:04:24 GMT
329
+ Authorization:
330
+ - AWS foo
331
+ Accept-Encoding:
332
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
333
+ Accept:
334
+ - '*/*'
335
+ response:
336
+ status:
337
+ code: 200
338
+ message: OK
339
+ headers:
340
+ X-Amz-Id-2:
341
+ - 0hwSRY4oKFGxplKvgR5uhigyak8Hr/Hc20sjcV4LzTcfjZn2u6b9lcf8dxofZ4An
342
+ X-Amz-Request-Id:
343
+ - 9AC5E5FDDF9A1581
344
+ Date:
345
+ - Thu, 02 Jan 2014 03:04:25 GMT
346
+ Content-Type:
347
+ - application/xml
348
+ Transfer-Encoding:
349
+ - chunked
350
+ Server:
351
+ - AmazonS3
352
+ body:
353
+ encoding: UTF-8
354
+ string: |-
355
+ <?xml version="1.0" encoding="UTF-8"?>
356
+ <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>2014-01-02T03:01:51.000Z</LastModified><ETag>&quot;8fcf43a38cbf0c502f029a50645f2374&quot;</ETag><Size>10</Size><Owner><ID>3855ebae0f370c3dd0c8d8031863792112bd2a2cb18fa310d3f463ae0dea62f1</ID><DisplayName>foo</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents><Contents><Key>index.html</Key><LastModified>2014-01-02T03:01:51.000Z</LastModified><ETag>&quot;af57cd2c1da58734749af7f49e38952c&quot;</ETag><Size>117</Size><Owner><ID>3855ebae0f370c3dd0c8d8031863792112bd2a2cb18fa310d3f463ae0dea62f1</ID><DisplayName>foo</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents></ListBucketResult>
357
+ http_version:
358
+ recorded_at: Thu, 02 Jan 2014 03:04:25 GMT
359
+ - request:
360
+ method: delete
361
+ uri: https://s3.amazonaws.com/s3-website-test.net/css/styles.css
362
+ body:
363
+ encoding: US-ASCII
364
+ string: ''
365
+ headers:
366
+ Content-Type:
367
+ - ''
368
+ User-Agent:
369
+ - aws-sdk-ruby/1.8.5 ruby/2.0.0 x86_64-darwin11.4.2
370
+ Date:
371
+ - Thu, 02 Jan 2014 03:04:25 GMT
372
+ Authorization:
373
+ - AWS foo
374
+ Accept-Encoding:
375
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
376
+ Accept:
377
+ - '*/*'
378
+ response:
379
+ status:
380
+ code: 204
381
+ message: No Content
382
+ headers:
383
+ X-Amz-Id-2:
384
+ - 4R5N9SuCYZ1aiexSGOwF7DGKKS5uA0w4arIuBG7OBzuwibs0/q/HfLBHGK/p4Lo4
385
+ X-Amz-Request-Id:
386
+ - DC937C728950B247
387
+ Date:
388
+ - Thu, 02 Jan 2014 03:04:26 GMT
389
+ Server:
390
+ - AmazonS3
391
+ body:
392
+ encoding: UTF-8
393
+ string: ''
394
+ http_version:
395
+ recorded_at: Thu, 02 Jan 2014 03:04:25 GMT
396
+ - request:
397
+ method: post
398
+ uri: https://cloudfront.amazonaws.com/2012-05-05/distribution/some-cf-id/invalidation
399
+ body:
400
+ encoding: UTF-8
401
+ string: "\n <InvalidationBatch>\n <Paths>\n <Quantity>2</Quantity>\n
402
+ \ <Items>\n [\"<Path>/css/styles.css</Path>\", \"<Path>/</Path>\"]\n
403
+ \ </Items>\n </Paths>\n <CallerReference>1388631865</CallerReference>\n
404
+ \ </InvalidationBatch>\n "
405
+ headers:
406
+ X-Amz-Date:
407
+ - Thu, 02 Jan 2014 03:04:25 UTC
408
+ Content-Type:
409
+ - text/xml
410
+ Authorization:
411
+ - AWS foo
412
+ response:
413
+ status:
414
+ code: 201
415
+ message: Created
416
+ headers:
417
+ X-Amzn-Requestid:
418
+ - 96a78aca-735a-11e3-908a-dfaa7fc51261
419
+ Location:
420
+ - https://cloudfront.amazonaws.com/2012-05-05/distribution/some-cf-id/invalidation/IVABZ2VV0CGL2
421
+ Content-Type:
422
+ - text/xml
423
+ Content-Length:
424
+ - '383'
425
+ Date:
426
+ - Thu, 02 Jan 2014 03:04:25 GMT
427
+ body:
428
+ encoding: UTF-8
429
+ string: |-
430
+ <?xml version="1.0"?>
431
+ <Invalidation xmlns="http://cloudfront.amazonaws.com/doc/2012-05-05/"><Id>IVABZ2VV0CGL2</Id><Status>InProgress</Status><CreateTime>2014-01-02T03:04:26.515Z</CreateTime><InvalidationBatch><Paths><Quantity>2</Quantity><Items><Path>/</Path><Path>/css/styles.css</Path></Items></Paths><CallerReference>1388631865</CallerReference></InvalidationBatch></Invalidation>
432
+ http_version:
433
+ recorded_at: Thu, 02 Jan 2014 03:04:26 GMT
434
+ recorded_with: VCR 2.5.0