contentful_bootstrap 3.6.1 → 3.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +0 -2
- data/CHANGELOG.md +7 -0
- data/README.md +3 -1
- data/bin/contentful_bootstrap +8 -2
- data/lib/contentful/bootstrap/commands/base.rb +1 -0
- data/lib/contentful/bootstrap/commands/create_space.rb +4 -1
- data/lib/contentful/bootstrap/commands/update_space.rb +2 -1
- data/lib/contentful/bootstrap/version.rb +1 -1
- data/spec/contentful/bootstrap/commands/base_spec.rb +1 -0
- data/spec/contentful/bootstrap/commands/create_space_spec.rb +29 -1
- data/spec/contentful/bootstrap/commands/update_space_spec.rb +24 -2
- data/spec/fixtures/json_fixtures/update_space_localized.json +40 -0
- data/spec/fixtures/vcr_fixtures/check_created_space.yml +177 -0
- data/spec/fixtures/vcr_fixtures/check_update_space_localized.yml +196 -0
- data/spec/fixtures/vcr_fixtures/space_with_different_locale.yml +241 -0
- data/spec/fixtures/vcr_fixtures/update_space_localized.yml +2315 -0
- metadata +13 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 82634cc77febe8735ad7eaa0d876764cb6826df9
|
4
|
+
data.tar.gz: a6773a570d9487e7b0254d9d96026c5a9db2938c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e621ae7ea0351fbea39c571193305bc053bcb19898bff47015775f2174389dc3f4e4e59546969fad7381df089d2cc7d8078e0fa2c80def6f9038c20c784246cc
|
7
|
+
data.tar.gz: bee10a5bbd3d2bb58200211e4761ee8c6e1344bc7f0d88ce8e48c1d14222bd9ee656d64300b07128234ea1e03b5aae664b4dee635db4796d0211d191ea1e6432
|
data/.travis.yml
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
-
- 2.1.7
|
4
3
|
- 2.2.3
|
5
4
|
- 2.3.1
|
6
5
|
- 2.4.0
|
7
|
-
- 2.0.0
|
8
6
|
notifications:
|
9
7
|
slack:
|
10
8
|
secure: Pw7UFAHD2fSAUtjf0P/W0Wg91TVTMAV8Gl04B/XhFrYpjVtifsGxWipOBDvJr9S7ep2UFbR3YbBABRWAJAigoDHvwEaf6eytEFT9LGsMwmPQOtb5NlJt0+Qhvys3sZUM0KskBORQ+Etz1M0O4e9baC5Tz1V8GzI/lNxIbpIM7dwQU18st+9sUTjBh6UFJDRXd0Qm28VAHk7fjlhpdKVH+5F4iEnFfRw414wVja8kPVmVDHCEqHPWS1JyHIj4eU8E50yBi3WjC60eE2TjAsCA9wc9gzvxb4tN5vXyuIVtqopPW4JPIBCaIv+j07biNAiLrTccQ5vv9RD9NTPmXANX9LyF/qD9I+itFl8xLatnwy1JXtPpi/S+OlQj6lluF17F+3c8g64vVgTYXyCDgCqpzSTj/KsTfwC9PkVGh8bmZMLtfUyd4IiMw8qiXt2opEmv90K1aodcixrpL2Db/OS2aSo4djRfMrjMlUN7tGM7hg9yQfAaZQKCPjof4C/XGG9me9FX+BvnNf9Xl6/t6uHFnkBfF969UX7gk7tzkwyyqpOp/FQ+6c+EiZF7wnVotbW49FBgEmZN62JsXSquDBlDfWrALeX4y9dZ+uYrWBd4q47N+kZUtogwf3f3gj0pE+K1XmKV549HkiHZ9MHcFtOwNu7KrCFMmUSPGIUKSotbg/c=
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,13 @@
|
|
2
2
|
|
3
3
|
## Unreleased
|
4
4
|
|
5
|
+
## v3.7.0
|
6
|
+
### Fixed
|
7
|
+
* Fixed `skip_content_types` option on `update_space` [#59](https://github.com/contentful/contentful-bootstrap.rb/pull/59)
|
8
|
+
|
9
|
+
### Added
|
10
|
+
* Added `--locale` option to `create_space` and `update_space` in order to create Spaces on a locale different to `en-US`
|
11
|
+
|
5
12
|
## v3.6.1
|
6
13
|
|
7
14
|
### Changed
|
data/README.md
CHANGED
@@ -26,7 +26,7 @@ $ gem install contentful_bootstrap
|
|
26
26
|
You can create spaces by doing:
|
27
27
|
|
28
28
|
```bash
|
29
|
-
$ contentful_bootstrap create_space <space_name> [--template template_name] [--json-template template_path] [--mark-processed] [--config CONFIG_PATH] [--quiet]
|
29
|
+
$ contentful_bootstrap create_space <space_name> [--template template_name] [--json-template template_path] [--locale locale_code] [--mark-processed] [--config CONFIG_PATH] [--quiet]
|
30
30
|
```
|
31
31
|
|
32
32
|
You can also generate new Delivery API Tokens by doing:
|
@@ -87,6 +87,7 @@ Additionally, you can send an options hash with the following keys:
|
|
87
87
|
options = {
|
88
88
|
template: "blog", # Will use one of the predefined templates and create Content Types, Assets and Entries
|
89
89
|
json_template: "/path/to/template.json", # Will use the JSON file specified as a Template
|
90
|
+
locale: "es-AR", # Will create the space with the specified locale code as default locale, defaults to "en-US"
|
90
91
|
mark_processed: false, # if true will mark all resources as 'bootstrapProcessed' and will be avoided for update_space calls (doesnt affect create_space)
|
91
92
|
trigger_oauth: true, # if true will trigger OAuth process
|
92
93
|
quiet: false, # if true will not output to STDOUT
|
@@ -100,6 +101,7 @@ To Update an existing Space
|
|
100
101
|
```ruby
|
101
102
|
options = {
|
102
103
|
json_template: "/path/to/template.json", # Will use the JSON file specified as a Template
|
104
|
+
locale: "es-AR", # Will create the space with the specified locale code as default locale, defaults to "en-US"
|
103
105
|
mark_processed: false, # if true will mark all resources as 'bootstrapProcessed and will be avoided on future update_space calls
|
104
106
|
trigger_oauth: true, # if true will trigger OAuth process
|
105
107
|
skip_content_types: false, # if true will avoid creating the content types
|
data/bin/contentful_bootstrap
CHANGED
@@ -7,13 +7,16 @@ options = {}
|
|
7
7
|
|
8
8
|
subcommands = {
|
9
9
|
'create_space' => OptionParser.new do |opts|
|
10
|
-
opts.banner = "Usage: create_space <space_name> [--template TEMPLATE_NAME] [--json-template JSON_PATH] [--mark-processed] [--config CONFIG_PATH]"
|
10
|
+
opts.banner = "Usage: create_space <space_name> [--template TEMPLATE_NAME] [--json-template JSON_PATH] [--locale LOCALE] [--mark-processed] [--config CONFIG_PATH]"
|
11
11
|
opts.on("-t TEMPLATE", "--template TEMPLATE", "Specify Template", "Available Templates: blog, catalogue, gallery") do |t|
|
12
12
|
options[:template] = t
|
13
13
|
end
|
14
14
|
opts.on("-j JSON_PATH", "--json-template JSON_PATH", "Specify JSON Template Path") do |j|
|
15
15
|
options[:json_template] = j
|
16
16
|
end
|
17
|
+
opts.on("-l LOCALE", "--locale LOCALE", "Set the Default Locale for the Space", "Defaults to 'en-US'") do |l|
|
18
|
+
options[:locale] = l
|
19
|
+
end
|
17
20
|
opts.on('-m', '--mark-processed', "Mark Processed Items on JSON Templates") do |m|
|
18
21
|
options[:mark_processed] = m
|
19
22
|
end
|
@@ -28,10 +31,13 @@ subcommands = {
|
|
28
31
|
end
|
29
32
|
end,
|
30
33
|
'update_space' => OptionParser.new do |opts|
|
31
|
-
opts.banner = "Usage: update_space <space_id> --json-template JSON_PATH [--mark-processed] [--config CONFIG_PATH]"
|
34
|
+
opts.banner = "Usage: update_space <space_id> --json-template JSON_PATH [--locale LOCALE] [--mark-processed] [--config CONFIG_PATH]"
|
32
35
|
opts.on("-j JSON_PATH", "--json-template JSON_PATH", "Specify JSON Template Path") do |j|
|
33
36
|
options[:json_template] = j
|
34
37
|
end
|
38
|
+
opts.on("-l LOCALE", "--locale LOCALE", "Set the Default Locale for the Space", "Defaults to 'en-US'") do |l|
|
39
|
+
options[:locale] = l
|
40
|
+
end
|
35
41
|
opts.on('-m', '--mark-processed', "Mark Processed Items on JSON Templates") do |m|
|
36
42
|
options[:mark_processed] = m
|
37
43
|
end
|
@@ -37,6 +37,7 @@ module Contentful
|
|
37
37
|
def management_client_init
|
38
38
|
@client ||= ::Contentful::Management::Client.new(
|
39
39
|
@token.read,
|
40
|
+
default_locale: options.fetch(:locale, "en-US"),
|
40
41
|
raise_errors: true,
|
41
42
|
integration_name: 'bootstrap',
|
42
43
|
integration_version: ::Contentful::Bootstrap::VERSION
|
@@ -13,6 +13,7 @@ module Contentful
|
|
13
13
|
@template_name = options.fetch(:template, nil)
|
14
14
|
@json_template = options.fetch(:json_template, nil)
|
15
15
|
@mark_processed = options.fetch(:mark_processed, false)
|
16
|
+
@locale = options.fetch(:locale, "en-US")
|
16
17
|
|
17
18
|
super(token, space, options)
|
18
19
|
end
|
@@ -45,7 +46,8 @@ module Contentful
|
|
45
46
|
new_space = nil
|
46
47
|
begin
|
47
48
|
options = {
|
48
|
-
name: @space
|
49
|
+
name: @space,
|
50
|
+
defaultLocale: @locale
|
49
51
|
}
|
50
52
|
options[:organization_id] = @token.read_organization_id unless @token.read_organization_id.nil?
|
51
53
|
management_client_init
|
@@ -61,6 +63,7 @@ module Contentful
|
|
61
63
|
output 'Your Organization ID has been stored as the default organization.'
|
62
64
|
new_space = client.spaces.create(
|
63
65
|
name: @space,
|
66
|
+
defaultLocale: @locale,
|
64
67
|
organization_id: organization_id
|
65
68
|
)
|
66
69
|
end
|
@@ -37,6 +37,7 @@ module Contentful
|
|
37
37
|
protected
|
38
38
|
|
39
39
|
def fetch_space
|
40
|
+
management_client_init
|
40
41
|
client.spaces.find(@space)
|
41
42
|
rescue Contentful::Management::NotFound
|
42
43
|
output 'Space Not Found. Exiting!'
|
@@ -48,7 +49,7 @@ module Contentful
|
|
48
49
|
def update_json_template(space)
|
49
50
|
if ::File.exist?(@json_template)
|
50
51
|
output "Updating from JSON Template '#{@json_template}'"
|
51
|
-
Templates::JsonTemplate.new(space, @json_template, @mark_processed, false, @skip_content_types).run
|
52
|
+
Templates::JsonTemplate.new(space, @json_template, @mark_processed, true, false, @skip_content_types).run
|
52
53
|
output "JSON Template '#{@json_template}' updated!"
|
53
54
|
else
|
54
55
|
output "JSON Template '#{@json_template}' does not exist. Please check that you specified the correct file name."
|
@@ -46,6 +46,7 @@ describe Contentful::Bootstrap::Commands::Base do
|
|
46
46
|
allow_any_instance_of(described_class).to receive(:configuration)
|
47
47
|
expect(Contentful::Management::Client).to receive(:new).with(
|
48
48
|
token.read,
|
49
|
+
default_locale: 'en-US',
|
49
50
|
raise_errors: true,
|
50
51
|
integration_name: 'bootstrap',
|
51
52
|
integration_version: Contentful::Bootstrap::VERSION
|
@@ -59,6 +59,34 @@ describe Contentful::Bootstrap::Commands::CreateSpace do
|
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
62
|
+
describe 'localization' do
|
63
|
+
it 'can create a space with a different locale' do
|
64
|
+
allow(Contentful::Bootstrap::Support).to receive(:gets).and_return('y')
|
65
|
+
allow(Contentful::Bootstrap::Support).to receive(:gets).and_return('n')
|
66
|
+
|
67
|
+
command = described_class.new(token, 'B.rb - locale creation', locale: 'es-AR')
|
68
|
+
|
69
|
+
vcr('space_with_different_locale') {
|
70
|
+
command.run
|
71
|
+
}
|
72
|
+
|
73
|
+
vcr('check_created_space') {
|
74
|
+
client = ::Contentful::Client.new(
|
75
|
+
space: 'vsy1ouf6jdcq',
|
76
|
+
access_token: '90e1b4964c3631cc9c751c42339814635623b001a53aec5aad23377299445433',
|
77
|
+
dynamic_entries: :auto,
|
78
|
+
raise_errors: true
|
79
|
+
)
|
80
|
+
|
81
|
+
space = client.space
|
82
|
+
|
83
|
+
expect(space.name).to eq("B.rb - locale creation")
|
84
|
+
expect(space.locales.first.code).to eq "es-AR"
|
85
|
+
expect(space.locales.first.default).to be_truthy
|
86
|
+
}
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
62
90
|
describe 'issues' do
|
63
91
|
it 'Importing asset array values does not work #22' do
|
64
92
|
json_path = File.expand_path(File.join('spec', 'fixtures', 'json_fixtures', 'issue_22.json'))
|
@@ -101,7 +129,7 @@ describe Contentful::Bootstrap::Commands::CreateSpace do
|
|
101
129
|
expect(subject.client).to receive(:spaces).and_call_original
|
102
130
|
space_proxy_double = Object.new
|
103
131
|
expect(subject.client).to receive(:spaces) { space_proxy_double }
|
104
|
-
expect(space_proxy_double).to receive(:create).with(name: 'foo', organization_id: 'foobar') { space_double }
|
132
|
+
expect(space_proxy_double).to receive(:create).with(name: 'foo', defaultLocale: 'en-US', organization_id: 'foobar') { space_double }
|
105
133
|
|
106
134
|
subject.run
|
107
135
|
}
|
@@ -52,12 +52,34 @@ describe Contentful::Bootstrap::Commands::UpdateSpace do
|
|
52
52
|
expect(subject).to receive(:fetch_space) { space_double }
|
53
53
|
expect(mock_template).to receive(:run)
|
54
54
|
|
55
|
-
expect(::Contentful::Bootstrap::Templates::JsonTemplate).to receive(:new).with(space_double, 'bar', mark_processed, false, false) { mock_template }
|
55
|
+
expect(::Contentful::Bootstrap::Templates::JsonTemplate).to receive(:new).with(space_double, 'bar', mark_processed, true, false, false) { mock_template }
|
56
56
|
|
57
57
|
subject.run
|
58
58
|
end
|
59
59
|
end
|
60
60
|
end
|
61
|
+
|
62
|
+
it 'can update localized spaces' do
|
63
|
+
vcr('update_space_localized') {
|
64
|
+
json_path = File.expand_path(File.join('spec', 'fixtures', 'json_fixtures', 'update_space_localized.json'))
|
65
|
+
subject = described_class.new(token, 'vsy1ouf6jdcq', locale: 'es-AR', json_template: json_path, mark_processed: false, trigger_oauth: false, quiet: true)
|
66
|
+
|
67
|
+
subject.run
|
68
|
+
}
|
69
|
+
|
70
|
+
vcr('check_update_space_localized') {
|
71
|
+
client = Contentful::Client.new(
|
72
|
+
space: 'vsy1ouf6jdcq',
|
73
|
+
access_token: '90e1b4964c3631cc9c751c42339814635623b001a53aec5aad23377299445433',
|
74
|
+
dynamic_entries: :auto,
|
75
|
+
raise_errors: true
|
76
|
+
)
|
77
|
+
|
78
|
+
entries = client.entries(locale: 'es-AR')
|
79
|
+
|
80
|
+
expect(entries.map(&:text)).to eq ['Foo', 'Bar']
|
81
|
+
}
|
82
|
+
end
|
61
83
|
end
|
62
84
|
|
63
85
|
context 'with skip_content_types set to true' do
|
@@ -71,7 +93,7 @@ describe Contentful::Bootstrap::Commands::UpdateSpace do
|
|
71
93
|
expect(subject).to receive(:fetch_space) { space_double }
|
72
94
|
expect(mock_template).to receive(:run)
|
73
95
|
|
74
|
-
expect(::Contentful::Bootstrap::Templates::JsonTemplate).to receive(:new).with(space_double, 'bar', false, false, true) { mock_template }
|
96
|
+
expect(::Contentful::Bootstrap::Templates::JsonTemplate).to receive(:new).with(space_double, 'bar', false, true, false, true) { mock_template }
|
75
97
|
|
76
98
|
subject.run
|
77
99
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"contentTypes": [
|
4
|
+
{
|
5
|
+
"id": "test",
|
6
|
+
"name": "Test",
|
7
|
+
"displayField": "text",
|
8
|
+
"fields": [
|
9
|
+
{
|
10
|
+
"id": "text",
|
11
|
+
"name": "Text",
|
12
|
+
"type": "Symbol"
|
13
|
+
}
|
14
|
+
]
|
15
|
+
}
|
16
|
+
],
|
17
|
+
"assets": [
|
18
|
+
|
19
|
+
],
|
20
|
+
"entries": {
|
21
|
+
"test": [
|
22
|
+
{
|
23
|
+
"sys": {
|
24
|
+
"id": "test_1"
|
25
|
+
},
|
26
|
+
"fields": {
|
27
|
+
"text": "Foo"
|
28
|
+
}
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"sys": {
|
32
|
+
"id": "test_2"
|
33
|
+
},
|
34
|
+
"fields": {
|
35
|
+
"text": "Bar"
|
36
|
+
}
|
37
|
+
}
|
38
|
+
]
|
39
|
+
}
|
40
|
+
}
|
@@ -0,0 +1,177 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://cdn.contentful.com/spaces/vsy1ouf6jdcq/content_types?limit=1000
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
X-Contentful-User-Agent:
|
11
|
+
- sdk contentful.rb/2.1.3; platform ruby/2.4.1; os macOS/16;
|
12
|
+
Authorization:
|
13
|
+
- Bearer 90e1b4964c3631cc9c751c42339814635623b001a53aec5aad23377299445433
|
14
|
+
Content-Type:
|
15
|
+
- application/vnd.contentful.delivery.v1+json
|
16
|
+
Accept-Encoding:
|
17
|
+
- gzip
|
18
|
+
Connection:
|
19
|
+
- close
|
20
|
+
Host:
|
21
|
+
- cdn.contentful.com
|
22
|
+
User-Agent:
|
23
|
+
- http.rb/2.2.2
|
24
|
+
response:
|
25
|
+
status:
|
26
|
+
code: 200
|
27
|
+
message: OK
|
28
|
+
headers:
|
29
|
+
Access-Control-Allow-Headers:
|
30
|
+
- 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,X-Contentful-Enable-Experimental-Feature
|
31
|
+
Access-Control-Allow-Methods:
|
32
|
+
- GET,HEAD,OPTIONS
|
33
|
+
Access-Control-Allow-Origin:
|
34
|
+
- "*"
|
35
|
+
Access-Control-Expose-Headers:
|
36
|
+
- Etag
|
37
|
+
Access-Control-Max-Age:
|
38
|
+
- '86400'
|
39
|
+
Cache-Control:
|
40
|
+
- max-age=0
|
41
|
+
Content-Type:
|
42
|
+
- application/vnd.contentful.delivery.v1+json
|
43
|
+
Etag:
|
44
|
+
- '"c283f5e14b648b925eac46aa3ee07ca3"'
|
45
|
+
Server:
|
46
|
+
- Contentful
|
47
|
+
X-Content-Type-Options:
|
48
|
+
- nosniff
|
49
|
+
X-Contentful-Request-Id:
|
50
|
+
- d1e40cd5d4cfb17b8122b3b8256bf31a
|
51
|
+
Content-Length:
|
52
|
+
- '98'
|
53
|
+
Accept-Ranges:
|
54
|
+
- bytes
|
55
|
+
Date:
|
56
|
+
- Fri, 18 Aug 2017 21:03:09 GMT
|
57
|
+
Via:
|
58
|
+
- 1.1 varnish
|
59
|
+
Age:
|
60
|
+
- '0'
|
61
|
+
Connection:
|
62
|
+
- close
|
63
|
+
X-Served-By:
|
64
|
+
- cache-atl6236-ATL
|
65
|
+
X-Cache:
|
66
|
+
- MISS
|
67
|
+
X-Cache-Hits:
|
68
|
+
- '0'
|
69
|
+
X-Timer:
|
70
|
+
- S1503090189.214686,VS0,VE206
|
71
|
+
Vary:
|
72
|
+
- Accept-Encoding
|
73
|
+
body:
|
74
|
+
encoding: ASCII-8BIT
|
75
|
+
string: |
|
76
|
+
{
|
77
|
+
"sys": {
|
78
|
+
"type": "Array"
|
79
|
+
},
|
80
|
+
"total": 0,
|
81
|
+
"skip": 0,
|
82
|
+
"limit": 1000,
|
83
|
+
"items": []
|
84
|
+
}
|
85
|
+
http_version:
|
86
|
+
recorded_at: Fri, 18 Aug 2017 21:03:09 GMT
|
87
|
+
- request:
|
88
|
+
method: get
|
89
|
+
uri: https://cdn.contentful.com/spaces/vsy1ouf6jdcq
|
90
|
+
body:
|
91
|
+
encoding: US-ASCII
|
92
|
+
string: ''
|
93
|
+
headers:
|
94
|
+
X-Contentful-User-Agent:
|
95
|
+
- sdk contentful.rb/2.1.3; platform ruby/2.4.1; os macOS/16;
|
96
|
+
Authorization:
|
97
|
+
- Bearer 90e1b4964c3631cc9c751c42339814635623b001a53aec5aad23377299445433
|
98
|
+
Content-Type:
|
99
|
+
- application/vnd.contentful.delivery.v1+json
|
100
|
+
Accept-Encoding:
|
101
|
+
- gzip
|
102
|
+
Connection:
|
103
|
+
- close
|
104
|
+
Host:
|
105
|
+
- cdn.contentful.com
|
106
|
+
User-Agent:
|
107
|
+
- http.rb/2.2.2
|
108
|
+
response:
|
109
|
+
status:
|
110
|
+
code: 200
|
111
|
+
message: OK
|
112
|
+
headers:
|
113
|
+
Access-Control-Allow-Headers:
|
114
|
+
- 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,X-Contentful-Enable-Experimental-Feature
|
115
|
+
Access-Control-Allow-Methods:
|
116
|
+
- GET,HEAD,OPTIONS
|
117
|
+
Access-Control-Allow-Origin:
|
118
|
+
- "*"
|
119
|
+
Access-Control-Expose-Headers:
|
120
|
+
- Etag
|
121
|
+
Access-Control-Max-Age:
|
122
|
+
- '86400'
|
123
|
+
Cache-Control:
|
124
|
+
- max-age=0
|
125
|
+
Content-Type:
|
126
|
+
- application/vnd.contentful.delivery.v1+json
|
127
|
+
Etag:
|
128
|
+
- '"41e2e178aad9b651bb9c230458dacaa0"'
|
129
|
+
Server:
|
130
|
+
- Contentful
|
131
|
+
X-Content-Type-Options:
|
132
|
+
- nosniff
|
133
|
+
X-Contentful-Request-Id:
|
134
|
+
- 07c944a494b440cb72fbfc4a8aaee17b
|
135
|
+
Content-Length:
|
136
|
+
- '229'
|
137
|
+
Accept-Ranges:
|
138
|
+
- bytes
|
139
|
+
Date:
|
140
|
+
- Fri, 18 Aug 2017 21:03:10 GMT
|
141
|
+
Via:
|
142
|
+
- 1.1 varnish
|
143
|
+
Age:
|
144
|
+
- '0'
|
145
|
+
Connection:
|
146
|
+
- close
|
147
|
+
X-Served-By:
|
148
|
+
- cache-atl6239-ATL
|
149
|
+
X-Cache:
|
150
|
+
- MISS
|
151
|
+
X-Cache-Hits:
|
152
|
+
- '0'
|
153
|
+
X-Timer:
|
154
|
+
- S1503090190.215703,VS0,VE174
|
155
|
+
Vary:
|
156
|
+
- Accept-Encoding
|
157
|
+
body:
|
158
|
+
encoding: ASCII-8BIT
|
159
|
+
string: |
|
160
|
+
{
|
161
|
+
"sys": {
|
162
|
+
"type": "Space",
|
163
|
+
"id": "vsy1ouf6jdcq"
|
164
|
+
},
|
165
|
+
"name": "B.rb - locale creation",
|
166
|
+
"locales": [
|
167
|
+
{
|
168
|
+
"code": "es-AR",
|
169
|
+
"default": true,
|
170
|
+
"name": "es-AR",
|
171
|
+
"fallbackCode": null
|
172
|
+
}
|
173
|
+
]
|
174
|
+
}
|
175
|
+
http_version:
|
176
|
+
recorded_at: Fri, 18 Aug 2017 21:03:10 GMT
|
177
|
+
recorded_with: VCR 2.9.3
|