contentful_model 0.2.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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