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,479 @@
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:54 GMT
214
+ Via:
215
+ - 1.1 varnish
216
+ Age:
217
+ - '1'
218
+ Connection:
219
+ - close
220
+ X-Served-By:
221
+ - cache-lax8645-LAX
222
+ X-Cache:
223
+ - HIT
224
+ X-Cache-Hits:
225
+ - '1'
226
+ X-Timer:
227
+ - S1494337195.960152,VS0,VE1
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:55 GMT
247
+ - request:
248
+ method: put
249
+ uri: https://api.contentful.com/spaces/facgnwwgj5fe/environments/master/entries/IJLRrADsqq2AmwcugoYeK
250
+ body:
251
+ encoding: UTF-8
252
+ string: '{"fields":{"name":{"en-US":"Fat Cat"},"lives":{"en-US":1337},"bestFriend":{"en-US":{"sys":{"type":"Link","linkType":"Entry","id":"cq0MrAkH8A0Q8QsYquwMq"}}}}}'
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
+ - '55'
262
+ Connection:
263
+ - close
264
+ Host:
265
+ - api.contentful.com
266
+ response:
267
+ status:
268
+ code: 200
269
+ message: OK
270
+ headers:
271
+ Access-Control-Allow-Headers:
272
+ - 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
273
+ Access-Control-Allow-Methods:
274
+ - DELETE,GET,HEAD,POST,PUT,OPTIONS
275
+ Access-Control-Allow-Origin:
276
+ - "*"
277
+ Access-Control-Expose-Headers:
278
+ - Etag
279
+ Access-Control-Max-Age:
280
+ - '1728000'
281
+ Cf-Space-Id:
282
+ - facgnwwgj5fe
283
+ Content-Type:
284
+ - application/vnd.contentful.management.v1+json
285
+ Date:
286
+ - Tue, 09 May 2017 13:39:55 GMT
287
+ Etag:
288
+ - '"e49370bfd48a5307a605cd1493106362"'
289
+ Server:
290
+ - Contentful
291
+ Strict-Transport-Security:
292
+ - max-age=15768000
293
+ X-Content-Type-Options:
294
+ - nosniff
295
+ X-Contentful-Ratelimit-Hour-Limit:
296
+ - '36000'
297
+ X-Contentful-Ratelimit-Hour-Remaining:
298
+ - '35926'
299
+ X-Contentful-Ratelimit-Reset:
300
+ - '0'
301
+ X-Contentful-Ratelimit-Second-Limit:
302
+ - '10'
303
+ X-Contentful-Ratelimit-Second-Remaining:
304
+ - '9'
305
+ X-Contentful-Request-Id:
306
+ - a97b13a8926f3a4312d4133ca8b35a9b
307
+ Content-Length:
308
+ - '1299'
309
+ Connection:
310
+ - Close
311
+ Set-Cookie:
312
+ - incap_ses_297_673446=jO6Qc+RpSn3+GsSJiygfBKvGEVkAAAAAI55iJhBxusFSc+v+6J0R9A==;
313
+ path=/; Domain=.contentful.com
314
+ - nlbi_673446=198AdT/sPFRG1yyj6lKYhQAAAABYPV5L32jMyhR9bk14yBim; path=/; Domain=.contentful.com
315
+ - visid_incap_673446=umJj9/5wSgOb5xVBhBfiEKvGEVkAAAAAQUIPAAAAAADjC5mJwtOx1OB4jeht6Fk1;
316
+ expires=Wed, 09 May 2018 07:00:15 GMT; path=/; Domain=.contentful.com
317
+ X-Iinfo:
318
+ - 4-48249419-48249430 NNNN CT(0 0 0) RT(1494337195249 96) q(0 0 0 -1) r(3 3)
319
+ U5
320
+ X-Cdn:
321
+ - Incapsula
322
+ body:
323
+ encoding: UTF-8
324
+ string: |
325
+ {
326
+ "fields": {
327
+ "name": {
328
+ "en-US": "Fat Cat"
329
+ },
330
+ "lives": {
331
+ "en-US": 1337
332
+ },
333
+ "bestFriend": {
334
+ "en-US": {
335
+ "sys": {
336
+ "type": "Link",
337
+ "linkType": "Entry",
338
+ "id": "cq0MrAkH8A0Q8QsYquwMq"
339
+ }
340
+ }
341
+ }
342
+ },
343
+ "sys": {
344
+ "id": "IJLRrADsqq2AmwcugoYeK",
345
+ "type": "Entry",
346
+ "createdAt": "2017-05-08T14:06:14.367Z",
347
+ "createdBy": {
348
+ "sys": {
349
+ "type": "Link",
350
+ "linkType": "User",
351
+ "id": "4SejVrWT96dvL9IV4Nb7sQ"
352
+ }
353
+ },
354
+ "space": {
355
+ "sys": {
356
+ "type": "Link",
357
+ "linkType": "Space",
358
+ "id": "facgnwwgj5fe"
359
+ }
360
+ },
361
+ "contentType": {
362
+ "sys": {
363
+ "type": "Link",
364
+ "linkType": "ContentType",
365
+ "id": "cat"
366
+ }
367
+ },
368
+ "firstPublishedAt": "2017-05-08T14:06:25.154Z",
369
+ "publishedCounter": 15,
370
+ "publishedAt": "2017-05-09T13:39:25.546Z",
371
+ "publishedBy": {
372
+ "sys": {
373
+ "type": "Link",
374
+ "linkType": "User",
375
+ "id": "4SejVrWT96dvL9IV4Nb7sQ"
376
+ }
377
+ },
378
+ "publishedVersion": 54,
379
+ "version": 56,
380
+ "updatedAt": "2017-05-09T13:39:55.624Z",
381
+ "updatedBy": {
382
+ "sys": {
383
+ "type": "Link",
384
+ "linkType": "User",
385
+ "id": "4SejVrWT96dvL9IV4Nb7sQ"
386
+ }
387
+ }
388
+ }
389
+ }
390
+ http_version:
391
+ recorded_at: Tue, 09 May 2017 13:39:55 GMT
392
+ - request:
393
+ method: get
394
+ uri: https://cdn.contentful.com/spaces/facgnwwgj5fe/environments/master/entries?sys.id=IJLRrADsqq2AmwcugoYeK
395
+ body:
396
+ encoding: US-ASCII
397
+ string: ''
398
+ headers:
399
+ User-Agent:
400
+ - RubyContentfulGem/2.0.1
401
+ Authorization:
402
+ - Bearer 4d0f55d940975f78139daae5d965b463c0816e88ad16062d2c1ee3d6cb930521
403
+ Content-Type:
404
+ - application/vnd.contentful.delivery.v1+json
405
+ Accept-Encoding:
406
+ - gzip
407
+ Connection:
408
+ - close
409
+ Host:
410
+ - cdn.contentful.com
411
+ response:
412
+ status:
413
+ code: 200
414
+ message: OK
415
+ headers:
416
+ Access-Control-Allow-Headers:
417
+ - 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
418
+ Access-Control-Allow-Methods:
419
+ - GET,HEAD,OPTIONS
420
+ Access-Control-Allow-Origin:
421
+ - "*"
422
+ Access-Control-Expose-Headers:
423
+ - Etag
424
+ Access-Control-Max-Age:
425
+ - '86400'
426
+ Cache-Control:
427
+ - max-age=0
428
+ Content-Encoding:
429
+ - gzip
430
+ Content-Type:
431
+ - application/vnd.contentful.delivery.v1+json
432
+ Etag:
433
+ - W/"eed7c45300718697b883c490d40eaae3"
434
+ Server:
435
+ - Contentful
436
+ X-Content-Type-Options:
437
+ - nosniff
438
+ X-Contentful-Request-Id:
439
+ - 6d58420e56cd72d96f6d05fff7e44b84
440
+ Content-Length:
441
+ - '523'
442
+ Accept-Ranges:
443
+ - bytes
444
+ Date:
445
+ - Tue, 09 May 2017 13:39:57 GMT
446
+ Via:
447
+ - 1.1 varnish
448
+ Age:
449
+ - '3'
450
+ Connection:
451
+ - close
452
+ X-Served-By:
453
+ - cache-lax8649-LAX
454
+ X-Cache:
455
+ - HIT
456
+ X-Cache-Hits:
457
+ - '1'
458
+ X-Timer:
459
+ - S1494337197.421727,VS0,VE0
460
+ Vary:
461
+ - Accept-Encoding
462
+ body:
463
+ encoding: ASCII-8BIT
464
+ string: !binary |-
465
+ H4sIAAAAAAAAA62VSVPCMBTH73wKJmdhWkqF9tZBHRd0RsGDOhxiGphISbcg
466
+ 03H47mbpktYWL+TA9CV5S/55v/DT6/dBmqXA7f/wT26wLMLcAl6SwAzwueOF
467
+ 2MNCBgM+b0or3ZKIG4Y0ArIjTCwZyiYM70TADxlQhW1kkZnSCCKRqtihJrVa
468
+ xIScLGqaE7oFImc1eHa6XeY1L2TExgbii+OsIdrQw2HzZa+xOFUxjuW3PKca
469
+ QPnc3c9fEu8qjeORtzug/SZ8ww9a+LKua8qSTF9ACYYM+56QBYwMczIw7IEx
470
+ XZpj17h0R/bQtMfvusM+8lscnKVpuZYjHOzxZc0hwd8kJSEVutta5SikDFOW
471
+ K3I+aWda3FaBEWT/6xqECAayvTAdvC4Kh1J6sCY48KtuFNcBKNxJl6cM0v6M
472
+ p9GOG5BvLLabljXRpj9xym4Sgqm4+/OJ0LxnWZ7qFRQbj4m3vZ16xvP0OX2L
473
+ 94fHuEOQvM9U64nfleSIUBTsfXmcnEWVryCpYqmFpg6eWnfKsk8wxVf/o6o8
474
+ dxdX/N3QKdNb5qRitY1FjX91B6cJG1tDZ2LrwPCC2xkroGx10SmrVdaN2TkU
475
+ 74at1L2B2ym5O6DLX/b8xWsBj+cq0LuFUZQ12JNdouhzatp0wncOaf62ggZh
476
+ +4Nd+7+odWX19teQXHHr2Dv2fgHe1BBDHQcAAA==
477
+ http_version:
478
+ recorded_at: Tue, 09 May 2017 13:39:57 GMT
479
+ recorded_with: VCR 3.0.3