contentful_model 0.2.0 → 1.0.0

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 (84) hide show
  1. checksums.yaml +5 -5
  2. data/lib/contentful_model.rb +17 -13
  3. data/lib/contentful_model/asset.rb +30 -0
  4. data/lib/contentful_model/asset_dimension_query.rb +70 -0
  5. data/lib/contentful_model/asset_dimensions.rb +54 -0
  6. data/lib/contentful_model/associations/associations.rb +10 -4
  7. data/lib/contentful_model/associations/belongs_to.rb +9 -4
  8. data/lib/contentful_model/associations/belongs_to_many.rb +22 -45
  9. data/lib/contentful_model/associations/has_many.rb +15 -13
  10. data/lib/contentful_model/associations/has_many_nested.rb +39 -37
  11. data/lib/contentful_model/associations/has_one.rb +22 -14
  12. data/lib/contentful_model/base.rb +115 -74
  13. data/lib/contentful_model/client.rb +14 -3
  14. data/lib/contentful_model/errors.rb +0 -1
  15. data/lib/contentful_model/manageable.rb +49 -21
  16. data/lib/contentful_model/management.rb +1 -0
  17. data/lib/contentful_model/migrations/content_type.rb +24 -24
  18. data/lib/contentful_model/migrations/content_type_factory.rb +9 -6
  19. data/lib/contentful_model/migrations/migration.rb +9 -4
  20. data/lib/contentful_model/queries.rb +60 -9
  21. data/lib/contentful_model/query.rb +148 -5
  22. data/lib/contentful_model/validations/lambda_validation.rb +17 -0
  23. data/lib/contentful_model/validations/validates_presence_of.rb +4 -1
  24. data/lib/contentful_model/validations/validations.rb +56 -8
  25. data/lib/contentful_model/version.rb +1 -1
  26. data/spec/asset_spec.rb +141 -0
  27. data/spec/associations/belongs_to_many_spec.rb +38 -0
  28. data/spec/associations/belongs_to_spec.rb +22 -0
  29. data/spec/associations/has_many_nested_spec.rb +321 -0
  30. data/spec/associations/has_many_spec.rb +33 -0
  31. data/spec/associations/has_one_spec.rb +32 -0
  32. data/spec/base_spec.rb +199 -0
  33. data/spec/chainable_queries_spec.rb +199 -0
  34. data/spec/client_spec.rb +11 -0
  35. data/spec/contentful_model_spec.rb +25 -0
  36. data/spec/fixtures/vcr_cassettes/asset/all.yml +161 -0
  37. data/spec/fixtures/vcr_cassettes/asset/find.yml +118 -0
  38. data/spec/fixtures/vcr_cassettes/association/belongs_to_many.yml +439 -0
  39. data/spec/fixtures/vcr_cassettes/association/has_many.yml +161 -0
  40. data/spec/fixtures/vcr_cassettes/association/has_one.yml +161 -0
  41. data/spec/fixtures/vcr_cassettes/association/nested_with_root_root.yml +240 -0
  42. data/spec/fixtures/vcr_cassettes/association/nested_without_root_child_higher_include.yml +123 -0
  43. data/spec/fixtures/vcr_cassettes/association/nested_without_root_child_parent.yml +609 -0
  44. data/spec/fixtures/vcr_cassettes/association/nested_without_root_childless.yml +688 -0
  45. data/spec/fixtures/vcr_cassettes/association/nested_without_root_middle.yml +319 -0
  46. data/spec/fixtures/vcr_cassettes/association/nested_without_root_middle_higher_include.yml +161 -0
  47. data/spec/fixtures/vcr_cassettes/association/nested_without_root_middle_parent.yml +489 -0
  48. data/spec/fixtures/vcr_cassettes/association/nested_without_root_parentless.yml +331 -0
  49. data/spec/fixtures/vcr_cassettes/association/nested_without_root_parentless_higher_include.yml +82 -0
  50. data/spec/fixtures/vcr_cassettes/associations/nested_without_root_middle.yml +161 -0
  51. data/spec/fixtures/vcr_cassettes/associations/nested_without_root_middle_higher_include.yml +82 -0
  52. data/spec/fixtures/vcr_cassettes/base/content_type.yml +185 -0
  53. data/spec/fixtures/vcr_cassettes/base/return_nil_for_empty.yml +202 -0
  54. data/spec/fixtures/vcr_cassettes/base/return_nil_for_empty_with_value.yml +124 -0
  55. data/spec/fixtures/vcr_cassettes/client.yml +98 -0
  56. data/spec/fixtures/vcr_cassettes/dog.yml +161 -0
  57. data/spec/fixtures/vcr_cassettes/human.yml +199 -0
  58. data/spec/fixtures/vcr_cassettes/management/client.yml +1362 -0
  59. data/spec/fixtures/vcr_cassettes/management/nyancat.yml +1449 -0
  60. data/spec/fixtures/vcr_cassettes/management/nyancat_2.yml +1449 -0
  61. data/spec/fixtures/vcr_cassettes/management/nyancat_publish.yml +481 -0
  62. data/spec/fixtures/vcr_cassettes/management/nyancat_refetch_and_fail.yml +558 -0
  63. data/spec/fixtures/vcr_cassettes/management/nyancat_refetch_and_save.yml +620 -0
  64. data/spec/fixtures/vcr_cassettes/management/nyancat_save.yml +479 -0
  65. data/spec/fixtures/vcr_cassettes/management/nyancat_save_2.yml +479 -0
  66. data/spec/fixtures/vcr_cassettes/nyancat.yml +196 -0
  67. data/spec/fixtures/vcr_cassettes/playground/nyancat.yml +177 -0
  68. data/spec/fixtures/vcr_cassettes/query/each_entry.yml +319 -0
  69. data/spec/fixtures/vcr_cassettes/query/each_page.yml +319 -0
  70. data/spec/fixtures/vcr_cassettes/query/empty.yml +180 -0
  71. data/spec/fixtures/vcr_cassettes/query/load.yml +197 -0
  72. data/spec/fixtures/vcr_cassettes/query/manual_pagination.yml +161 -0
  73. data/spec/fixtures/vcr_cassettes/query/nyancat_invalid_elements.yml +247 -0
  74. data/spec/manageable_spec.rb +186 -0
  75. data/spec/management_spec.rb +17 -0
  76. data/spec/migrations/content_type_factory_spec.rb +41 -0
  77. data/spec/migrations/content_type_spec.rb +176 -0
  78. data/spec/migrations/migration_spec.rb +75 -0
  79. data/spec/queries_spec.rb +85 -0
  80. data/spec/query_spec.rb +126 -0
  81. data/spec/spec_helper.rb +58 -0
  82. data/spec/validations/validations_spec.rb +182 -0
  83. metadata +213 -19
  84. data/lib/contentful_model/chainable_queries.rb +0 -104
@@ -0,0 +1,481 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.contentful.com/spaces/facgnwwgj5fe/environments/master/content_types/cat
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - RubyContentfulManagementGem/1.1.0
12
+ Authorization:
13
+ - Bearer <ACCESS_TOKEN>
14
+ Content-Type:
15
+ - application/vnd.contentful.management.v1+json
16
+ Content-Length:
17
+ - '0'
18
+ Connection:
19
+ - close
20
+ Host:
21
+ - api.contentful.com
22
+ response:
23
+ status:
24
+ code: 200
25
+ message: OK
26
+ headers:
27
+ Access-Control-Allow-Headers:
28
+ - Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation,X-Contentful-User-Agent
29
+ Access-Control-Allow-Methods:
30
+ - DELETE,GET,HEAD,POST,PUT,OPTIONS
31
+ Access-Control-Allow-Origin:
32
+ - "*"
33
+ Access-Control-Expose-Headers:
34
+ - Etag
35
+ Access-Control-Max-Age:
36
+ - '1728000'
37
+ Cf-Space-Id:
38
+ - facgnwwgj5fe
39
+ Content-Type:
40
+ - application/vnd.contentful.management.v1+json
41
+ Date:
42
+ - Mon, 08 May 2017 14:10:53 GMT
43
+ Etag:
44
+ - '"3ebdb893e2c6c3d675f9c1d97cc55d58"'
45
+ Server:
46
+ - Contentful
47
+ Strict-Transport-Security:
48
+ - max-age=15768000
49
+ X-Content-Type-Options:
50
+ - nosniff
51
+ X-Contentful-Ratelimit-Hour-Limit:
52
+ - '36000'
53
+ X-Contentful-Ratelimit-Hour-Remaining:
54
+ - '35946'
55
+ X-Contentful-Ratelimit-Reset:
56
+ - '0'
57
+ X-Contentful-Ratelimit-Second-Limit:
58
+ - '10'
59
+ X-Contentful-Ratelimit-Second-Remaining:
60
+ - '9'
61
+ X-Contentful-Request-Id:
62
+ - 3bf94d724fe1005dec593d36cb4cf26f
63
+ Content-Length:
64
+ - '1604'
65
+ Connection:
66
+ - Close
67
+ Set-Cookie:
68
+ - incap_ses_297_673446=LGdPZX0MvXP3Uo6HiygfBG58EFkAAAAAqJds0JrIWVeXdcdHwCS7UQ==;
69
+ path=/; Domain=.contentful.com
70
+ - nlbi_673446=iGA9MjTOSxobb4qD6lKYhQAAAACDXkAnT9IyQsZIY/+xIId2; path=/; Domain=.contentful.com
71
+ - visid_incap_673446=dI7jUbLoRSuOceGAydRZbm58EFkAAAAAQUIPAAAAAADIhN6c9FvLXMlp+KaWakoV;
72
+ expires=Tue, 08 May 2018 07:00:13 GMT; path=/; Domain=.contentful.com
73
+ X-Iinfo:
74
+ - 0-22362614-22362630 NNNN CT(140 138 0) RT(1494252653354 109) q(0 0 3 -1) r(6
75
+ 6) U5
76
+ X-Cdn:
77
+ - Incapsula
78
+ body:
79
+ encoding: UTF-8
80
+ string: |
81
+ {
82
+ "name": "Cat",
83
+ "fields": [
84
+ {
85
+ "name": "Name",
86
+ "id": "name",
87
+ "type": "Symbol",
88
+ "validations": [],
89
+ "localized": false,
90
+ "required": false,
91
+ "disabled": false,
92
+ "omitted": false
93
+ },
94
+ {
95
+ "name": "Lives",
96
+ "id": "lives",
97
+ "type": "Integer",
98
+ "validations": [],
99
+ "localized": false,
100
+ "required": false,
101
+ "disabled": false,
102
+ "omitted": false
103
+ },
104
+ {
105
+ "name": "Best Friend",
106
+ "id": "bestFriend",
107
+ "type": "Link",
108
+ "linkType": "Entry",
109
+ "localized": false,
110
+ "required": false,
111
+ "disabled": false,
112
+ "omitted": false,
113
+ "validations": []
114
+ }
115
+ ],
116
+ "displayField": "name",
117
+ "description": "",
118
+ "sys": {
119
+ "id": "cat",
120
+ "type": "ContentType",
121
+ "createdAt": "2017-05-08T14:06:00.224Z",
122
+ "createdBy": {
123
+ "sys": {
124
+ "type": "Link",
125
+ "linkType": "User",
126
+ "id": "4SejVrWT96dvL9IV4Nb7sQ"
127
+ }
128
+ },
129
+ "space": {
130
+ "sys": {
131
+ "type": "Link",
132
+ "linkType": "Space",
133
+ "id": "facgnwwgj5fe"
134
+ }
135
+ },
136
+ "firstPublishedAt": "2017-05-08T14:06:00.749Z",
137
+ "publishedCounter": 1,
138
+ "publishedAt": "2017-05-08T14:06:00.749Z",
139
+ "publishedBy": {
140
+ "sys": {
141
+ "type": "Link",
142
+ "linkType": "User",
143
+ "id": "4SejVrWT96dvL9IV4Nb7sQ"
144
+ }
145
+ },
146
+ "publishedVersion": 1,
147
+ "version": 2,
148
+ "updatedAt": "2017-05-08T14:06:00.760Z",
149
+ "updatedBy": {
150
+ "sys": {
151
+ "type": "Link",
152
+ "linkType": "User",
153
+ "id": "4SejVrWT96dvL9IV4Nb7sQ"
154
+ }
155
+ }
156
+ }
157
+ }
158
+ http_version:
159
+ recorded_at: Tue, 09 May 2017 13:31:34 GMT
160
+ - request:
161
+ method: get
162
+ uri: https://cdn.contentful.com/spaces/facgnwwgj5fe/environments/master/entries?sys.id=IJLRrADsqq2AmwcugoYeK
163
+ body:
164
+ encoding: US-ASCII
165
+ string: ''
166
+ headers:
167
+ User-Agent:
168
+ - RubyContentfulGem/2.0.1
169
+ Authorization:
170
+ - Bearer 4d0f55d940975f78139daae5d965b463c0816e88ad16062d2c1ee3d6cb930521
171
+ Content-Type:
172
+ - application/vnd.contentful.delivery.v1+json
173
+ Accept-Encoding:
174
+ - gzip
175
+ Connection:
176
+ - close
177
+ Host:
178
+ - cdn.contentful.com
179
+ response:
180
+ status:
181
+ code: 200
182
+ message: OK
183
+ headers:
184
+ Access-Control-Allow-Headers:
185
+ - Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation,X-Contentful-User-Agent
186
+ Access-Control-Allow-Methods:
187
+ - GET,HEAD,OPTIONS
188
+ Access-Control-Allow-Origin:
189
+ - "*"
190
+ Access-Control-Expose-Headers:
191
+ - Etag
192
+ Access-Control-Max-Age:
193
+ - '86400'
194
+ Cache-Control:
195
+ - max-age=0
196
+ Content-Encoding:
197
+ - gzip
198
+ Content-Type:
199
+ - application/vnd.contentful.delivery.v1+json
200
+ Etag:
201
+ - W/"eed7c45300718697b883c490d40eaae3"
202
+ Server:
203
+ - Contentful
204
+ X-Content-Type-Options:
205
+ - nosniff
206
+ X-Contentful-Request-Id:
207
+ - 6d58420e56cd72d96f6d05fff7e44b84
208
+ Content-Length:
209
+ - '523'
210
+ Accept-Ranges:
211
+ - bytes
212
+ Date:
213
+ - Tue, 09 May 2017 13:39:58 GMT
214
+ Via:
215
+ - 1.1 varnish
216
+ Age:
217
+ - '4'
218
+ Connection:
219
+ - close
220
+ X-Served-By:
221
+ - cache-lax8631-LAX
222
+ X-Cache:
223
+ - HIT
224
+ X-Cache-Hits:
225
+ - '1'
226
+ X-Timer:
227
+ - S1494337198.156850,VS0,VE0
228
+ Vary:
229
+ - Accept-Encoding
230
+ body:
231
+ encoding: ASCII-8BIT
232
+ string: !binary |-
233
+ H4sIAAAAAAAAA62VSVPCMBTH73wKJmdhWkqF9tZBHRd0RsGDOhxiGphISbcg
234
+ 03H47mbpktYWL+TA9CV5S/55v/DT6/dBmqXA7f/wT26wLMLcAl6SwAzwueOF
235
+ 2MNCBgM+b0or3ZKIG4Y0ArIjTCwZyiYM70TADxlQhW1kkZnSCCKRqtihJrVa
236
+ xIScLGqaE7oFImc1eHa6XeY1L2TExgbii+OsIdrQw2HzZa+xOFUxjuW3PKca
237
+ QPnc3c9fEu8qjeORtzug/SZ8ww9a+LKua8qSTF9ACYYM+56QBYwMczIw7IEx
238
+ XZpj17h0R/bQtMfvusM+8lscnKVpuZYjHOzxZc0hwd8kJSEVutta5SikDFOW
239
+ K3I+aWda3FaBEWT/6xqECAayvTAdvC4Kh1J6sCY48KtuFNcBKNxJl6cM0v6M
240
+ p9GOG5BvLLabljXRpj9xym4Sgqm4+/OJ0LxnWZ7qFRQbj4m3vZ16xvP0OX2L
241
+ 94fHuEOQvM9U64nfleSIUBTsfXmcnEWVryCpYqmFpg6eWnfKsk8wxVf/o6o8
242
+ dxdX/N3QKdNb5qRitY1FjX91B6cJG1tDZ2LrwPCC2xkroGx10SmrVdaN2TkU
243
+ 74at1L2B2ym5O6DLX/b8xWsBj+cq0LuFUZQ12JNdouhzatp0wncOaf62ggZh
244
+ +4Nd+7+odWX19teQXHHr2Dv2fgHe1BBDHQcAAA==
245
+ http_version:
246
+ recorded_at: Tue, 09 May 2017 13:39:58 GMT
247
+ - request:
248
+ method: put
249
+ uri: https://api.contentful.com/spaces/facgnwwgj5fe/environments/master/entries/IJLRrADsqq2AmwcugoYeK/published
250
+ body:
251
+ encoding: US-ASCII
252
+ string: ''
253
+ headers:
254
+ User-Agent:
255
+ - RubyContentfulManagementGem/1.1.0
256
+ Authorization:
257
+ - Bearer <ACCESS_TOKEN>
258
+ Content-Type:
259
+ - application/vnd.contentful.management.v1+json
260
+ X-Contentful-Version:
261
+ - '56'
262
+ Content-Length:
263
+ - '0'
264
+ Connection:
265
+ - close
266
+ Host:
267
+ - api.contentful.com
268
+ response:
269
+ status:
270
+ code: 200
271
+ message: OK
272
+ headers:
273
+ Access-Control-Allow-Headers:
274
+ - Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation,X-Contentful-User-Agent
275
+ Access-Control-Allow-Methods:
276
+ - DELETE,GET,HEAD,POST,PUT,OPTIONS
277
+ Access-Control-Allow-Origin:
278
+ - "*"
279
+ Access-Control-Expose-Headers:
280
+ - Etag
281
+ Access-Control-Max-Age:
282
+ - '1728000'
283
+ Cf-Space-Id:
284
+ - facgnwwgj5fe
285
+ Content-Type:
286
+ - application/vnd.contentful.management.v1+json
287
+ Date:
288
+ - Tue, 09 May 2017 13:39:59 GMT
289
+ Etag:
290
+ - '"33d9338e4beb564a8245dac98530f171"'
291
+ Server:
292
+ - Contentful
293
+ Strict-Transport-Security:
294
+ - max-age=15768000
295
+ X-Content-Type-Options:
296
+ - nosniff
297
+ X-Contentful-Ratelimit-Hour-Limit:
298
+ - '36000'
299
+ X-Contentful-Ratelimit-Hour-Remaining:
300
+ - '35925'
301
+ X-Contentful-Ratelimit-Reset:
302
+ - '0'
303
+ X-Contentful-Ratelimit-Second-Limit:
304
+ - '10'
305
+ X-Contentful-Ratelimit-Second-Remaining:
306
+ - '9'
307
+ X-Contentful-Request-Id:
308
+ - 3577018b86686acec5ff48a0a4167840
309
+ Content-Length:
310
+ - '1299'
311
+ Connection:
312
+ - Close
313
+ Set-Cookie:
314
+ - incap_ses_297_673446=JPmvWDhlaiZQJMSJiygfBK/GEVkAAAAACrZawC4JOsLOgJh+YLoSig==;
315
+ path=/; Domain=.contentful.com
316
+ - nlbi_673446=2lRAPS8hnHM19lV56lKYhQAAAAB9jCz107tOhs2szK30KoZm; path=/; Domain=.contentful.com
317
+ - visid_incap_673446=x03nbMbrSgGlKmkTKgc1F6/GEVkAAAAAQUIPAAAAAACtVBoHoCNtAmmBCKIudlhY;
318
+ expires=Wed, 09 May 2018 07:00:14 GMT; path=/; Domain=.contentful.com
319
+ X-Iinfo:
320
+ - 5-53488697-53488738 NNNN CT(148 140 0) RT(1494337198289 247) q(0 0 3 -1) r(6
321
+ 6) U5
322
+ X-Cdn:
323
+ - Incapsula
324
+ body:
325
+ encoding: UTF-8
326
+ string: |
327
+ {
328
+ "fields": {
329
+ "name": {
330
+ "en-US": "Fat Cat"
331
+ },
332
+ "lives": {
333
+ "en-US": 1337
334
+ },
335
+ "bestFriend": {
336
+ "en-US": {
337
+ "sys": {
338
+ "type": "Link",
339
+ "linkType": "Entry",
340
+ "id": "cq0MrAkH8A0Q8QsYquwMq"
341
+ }
342
+ }
343
+ }
344
+ },
345
+ "sys": {
346
+ "id": "IJLRrADsqq2AmwcugoYeK",
347
+ "type": "Entry",
348
+ "createdAt": "2017-05-08T14:06:14.367Z",
349
+ "createdBy": {
350
+ "sys": {
351
+ "type": "Link",
352
+ "linkType": "User",
353
+ "id": "4SejVrWT96dvL9IV4Nb7sQ"
354
+ }
355
+ },
356
+ "space": {
357
+ "sys": {
358
+ "type": "Link",
359
+ "linkType": "Space",
360
+ "id": "facgnwwgj5fe"
361
+ }
362
+ },
363
+ "contentType": {
364
+ "sys": {
365
+ "type": "Link",
366
+ "linkType": "ContentType",
367
+ "id": "cat"
368
+ }
369
+ },
370
+ "firstPublishedAt": "2017-05-08T14:06:25.154Z",
371
+ "publishedCounter": 16,
372
+ "publishedAt": "2017-05-09T13:39:59.032Z",
373
+ "publishedBy": {
374
+ "sys": {
375
+ "type": "Link",
376
+ "linkType": "User",
377
+ "id": "4SejVrWT96dvL9IV4Nb7sQ"
378
+ }
379
+ },
380
+ "publishedVersion": 56,
381
+ "version": 57,
382
+ "updatedAt": "2017-05-09T13:39:59.032Z",
383
+ "updatedBy": {
384
+ "sys": {
385
+ "type": "Link",
386
+ "linkType": "User",
387
+ "id": "4SejVrWT96dvL9IV4Nb7sQ"
388
+ }
389
+ }
390
+ }
391
+ }
392
+ http_version:
393
+ recorded_at: Tue, 09 May 2017 13:39:59 GMT
394
+ - request:
395
+ method: get
396
+ uri: https://cdn.contentful.com/spaces/facgnwwgj5fe/environments/master/entries?sys.id=IJLRrADsqq2AmwcugoYeK
397
+ body:
398
+ encoding: US-ASCII
399
+ string: ''
400
+ headers:
401
+ User-Agent:
402
+ - RubyContentfulGem/2.0.1
403
+ Authorization:
404
+ - Bearer 4d0f55d940975f78139daae5d965b463c0816e88ad16062d2c1ee3d6cb930521
405
+ Content-Type:
406
+ - application/vnd.contentful.delivery.v1+json
407
+ Accept-Encoding:
408
+ - gzip
409
+ Connection:
410
+ - close
411
+ Host:
412
+ - cdn.contentful.com
413
+ response:
414
+ status:
415
+ code: 200
416
+ message: OK
417
+ headers:
418
+ Access-Control-Allow-Headers:
419
+ - Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation,X-Contentful-User-Agent
420
+ Access-Control-Allow-Methods:
421
+ - GET,HEAD,OPTIONS
422
+ Access-Control-Allow-Origin:
423
+ - "*"
424
+ Access-Control-Expose-Headers:
425
+ - Etag
426
+ Access-Control-Max-Age:
427
+ - '86400'
428
+ Cache-Control:
429
+ - max-age=0
430
+ Content-Encoding:
431
+ - gzip
432
+ Content-Type:
433
+ - application/vnd.contentful.delivery.v1+json
434
+ Etag:
435
+ - W/"eed7c45300718697b883c490d40eaae3"
436
+ Server:
437
+ - Contentful
438
+ X-Content-Type-Options:
439
+ - nosniff
440
+ X-Contentful-Request-Id:
441
+ - 6d58420e56cd72d96f6d05fff7e44b84
442
+ Content-Length:
443
+ - '523'
444
+ Accept-Ranges:
445
+ - bytes
446
+ Date:
447
+ - Tue, 09 May 2017 13:39:59 GMT
448
+ Via:
449
+ - 1.1 varnish
450
+ Age:
451
+ - '6'
452
+ Connection:
453
+ - close
454
+ X-Served-By:
455
+ - cache-lax8645-LAX
456
+ X-Cache:
457
+ - HIT
458
+ X-Cache-Hits:
459
+ - '2'
460
+ X-Timer:
461
+ - S1494337200.879222,VS0,VE0
462
+ Vary:
463
+ - Accept-Encoding
464
+ body:
465
+ encoding: ASCII-8BIT
466
+ string: !binary |-
467
+ H4sIAAAAAAAAA62VSVPCMBTH73wKJmdhWkqF9tZBHRd0RsGDOhxiGphISbcg
468
+ 03H47mbpktYWL+TA9CV5S/55v/DT6/dBmqXA7f/wT26wLMLcAl6SwAzwueOF
469
+ 2MNCBgM+b0or3ZKIG4Y0ArIjTCwZyiYM70TADxlQhW1kkZnSCCKRqtihJrVa
470
+ xIScLGqaE7oFImc1eHa6XeY1L2TExgbii+OsIdrQw2HzZa+xOFUxjuW3PKca
471
+ QPnc3c9fEu8qjeORtzug/SZ8ww9a+LKua8qSTF9ACYYM+56QBYwMczIw7IEx
472
+ XZpj17h0R/bQtMfvusM+8lscnKVpuZYjHOzxZc0hwd8kJSEVutta5SikDFOW
473
+ K3I+aWda3FaBEWT/6xqECAayvTAdvC4Kh1J6sCY48KtuFNcBKNxJl6cM0v6M
474
+ p9GOG5BvLLabljXRpj9xym4Sgqm4+/OJ0LxnWZ7qFRQbj4m3vZ16xvP0OX2L
475
+ 94fHuEOQvM9U64nfleSIUBTsfXmcnEWVryCpYqmFpg6eWnfKsk8wxVf/o6o8
476
+ dxdX/N3QKdNb5qRitY1FjX91B6cJG1tDZ2LrwPCC2xkroGx10SmrVdaN2TkU
477
+ 74at1L2B2ym5O6DLX/b8xWsBj+cq0LuFUZQ12JNdouhzatp0wncOaf62ggZh
478
+ +4Nd+7+odWX19teQXHHr2Dv2fgHe1BBDHQcAAA==
479
+ http_version:
480
+ recorded_at: Tue, 09 May 2017 13:39:59 GMT
481
+ recorded_with: VCR 3.0.3