relaton 1.8.1 → 1.9.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +1 -11
- data/.rubocop.yml +1 -1
- data/docs/README.adoc +6 -5
- data/lib/relaton/db.rb +36 -3
- data/lib/relaton/processor.rb +13 -2
- data/lib/relaton/registry.rb +11 -0
- data/lib/relaton/version.rb +1 -1
- data/relaton.gemspec +22 -23
- data/spec/relaton/db_spec.rb +4 -2
- data/spec/relaton/processor_spec.rb +4 -0
- data/spec/relaton/{regirtry_spec.rb → registry_spec.rb} +6 -0
- data/spec/relaton_spec.rb +19 -12
- data/spec/vcr_cassetes/api_relaton_org.yml +57 -0
- data/spec/vcr_cassetes/api_relaton_org_unavailable.yml +198 -0
- data/spec/vcr_cassetes/async_fetch.yml +1658 -1502
- data/spec/vcr_cassetes/bsi_bs_en_iso_8848.yml +113 -114
- data/spec/vcr_cassetes/cc_dir_10005_2019.yml +12 -12
- data/spec/vcr_cassetes/cen_en_10160_1999.yml +41 -41
- data/spec/vcr_cassetes/cie_001_1980.yml +8 -8
- data/spec/vcr_cassetes/ecma_6.yml +8 -8
- data/spec/vcr_cassetes/fisp_140.yml +6 -59
- data/spec/vcr_cassetes/gb_t_20223_2006.yml +6 -6
- data/spec/vcr_cassetes/iec_60050_102_2007.yml +28 -28
- data/spec/vcr_cassetes/iec_combined_included.yml +164 -100
- data/spec/vcr_cassetes/ieee_528_2019.yml +38 -38
- data/spec/vcr_cassetes/iho_b_11.yml +8 -8
- data/spec/vcr_cassetes/iso_111111119115_1.yml +45 -26
- data/spec/vcr_cassetes/iso_19115_1.yml +57 -41
- data/spec/vcr_cassetes/iso_19115_1_2.yml +113 -81
- data/spec/vcr_cassetes/iso_19115_all_parts.yml +198 -0
- data/spec/vcr_cassetes/iso_19133_2005.yml +198 -0
- data/spec/vcr_cassetes/iso_cd_14093.yml +202 -0
- data/spec/vcr_cassetes/iso_combined_applied.yml +113 -81
- data/spec/vcr_cassetes/iso_combined_included.yml +114 -82
- data/spec/vcr_cassetes/itu_combined_included.yml +315 -199
- data/spec/vcr_cassetes/ogc_19_025r1.yml +14 -13105
- data/spec/vcr_cassetes/omg_ami4ccm_1_0.yml +4 -4
- data/spec/vcr_cassetes/rfc_8341.yml +8 -8
- data/spec/vcr_cassetes/sp_800_38b.yml +6 -59
- data/spec/vcr_cassetes/un_rtade_cefact_2004_32.yml +34 -34
- data/spec/vcr_cassetes/w3c_json_ld11.yml +12 -12
- metadata +83 -56
- data/spec/vcr_cassetes/19133_2005.yml +0 -182
- data/spec/vcr_cassetes/hist_cmbined_included.yml +0 -105
- data/spec/vcr_cassetes/iso_19115.yml +0 -182
- data/spec/vcr_cassetes/iso_awi_14093.yml +0 -182
- data/spec/vcr_cassetes/iso_iec_guide_2.yml +0 -232
- data/spec/vcr_cassetes/rfc_unsuccess.yml +0 -70
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a3599c52bacdd454603dc095055338b4a89b8264ee9391fa2a2b25f1724a46e2
|
4
|
+
data.tar.gz: aa64435911173af46c12a522b05d063c4cfa0644f1919c96ec3879f9b8f9af39
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 74fc610b35697515cf2f925349ff9ad076c50a3ec8e0fa08a9cbfa3fc82217c32b2f5e2869af604a58e12f70898de41addade73971a6fae9085b56eb7b3b5ff0
|
7
|
+
data.tar.gz: 8cda3116f9e84eb3f549dc1a4c5a74fb6957d4834d0cf140f587434f2b9ff84e7cae93946147b7151fa6cf1739f13aba1639f92c2f73fce552999e3a7dfe35fd
|
data/.github/workflows/rake.yml
CHANGED
@@ -16,19 +16,9 @@ jobs:
|
|
16
16
|
strategy:
|
17
17
|
fail-fast: false
|
18
18
|
matrix:
|
19
|
-
ruby: [ '
|
19
|
+
ruby: [ '3.0', '2.7', '2.6', '2.5' ]
|
20
20
|
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
21
21
|
experimental: [ false ]
|
22
|
-
include:
|
23
|
-
- ruby: '3.0'
|
24
|
-
os: 'ubuntu-latest'
|
25
|
-
experimental: true
|
26
|
-
- ruby: '3.0'
|
27
|
-
os: 'windows-latest'
|
28
|
-
experimental: true
|
29
|
-
- ruby: '3.0'
|
30
|
-
os: 'macos-latest'
|
31
|
-
experimental: true
|
32
22
|
steps:
|
33
23
|
- uses: actions/checkout@v2
|
34
24
|
with:
|
data/.rubocop.yml
CHANGED
data/docs/README.adoc
CHANGED
@@ -182,20 +182,21 @@ x = db.fetch_db("ISO 5749")
|
|
182
182
|
# prepare queue for results
|
183
183
|
results = Queue.new
|
184
184
|
|
185
|
-
# references
|
185
|
+
# references to fetch
|
186
186
|
refs = ["ISO 19011", "ISO 19115"]
|
187
187
|
|
188
188
|
# fetch documents
|
189
189
|
refs.each do |ref|
|
190
190
|
db.fetch_async(ref) do |doc|
|
191
|
-
results << [
|
191
|
+
results << [doc, ref]
|
192
192
|
end
|
193
193
|
end
|
194
194
|
|
195
|
-
# wait until
|
195
|
+
# wait until all the documents fetching
|
196
196
|
refs.size.times do
|
197
|
-
|
198
|
-
# do
|
197
|
+
doc, ref = results.pop
|
198
|
+
# do whatever you need with the result
|
199
|
+
# in case request error doc will be instance of Relaton::RequestError
|
199
200
|
end
|
200
201
|
----
|
201
202
|
|
data/lib/relaton/db.rb
CHANGED
@@ -99,16 +99,20 @@ module Relaton
|
|
99
99
|
end
|
100
100
|
|
101
101
|
# Fetch asynchronously
|
102
|
-
def fetch_async(code, year = nil, opts = {}, &
|
102
|
+
def fetch_async(code, year = nil, opts = {}, &block) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength
|
103
103
|
stdclass = standard_class code
|
104
104
|
if stdclass
|
105
105
|
unless @queues[stdclass]
|
106
106
|
processor = @registry.processors[stdclass]
|
107
|
-
wp = WorkersPool.new(processor.threads)
|
107
|
+
wp = WorkersPool.new(processor.threads) do |args|
|
108
|
+
args[3].call fetch(*args[0..2])
|
109
|
+
rescue RelatonBib::RequestError => e
|
110
|
+
args[3].call e
|
111
|
+
end
|
108
112
|
@queues[stdclass] = { queue: Queue.new, workers_pool: wp }
|
109
113
|
Thread.new { process_queue @queues[stdclass] }
|
110
114
|
end
|
111
|
-
@queues[stdclass][:queue] << [code, year, opts]
|
115
|
+
@queues[stdclass][:queue] << [code, year, opts, block]
|
112
116
|
else yield nil
|
113
117
|
end
|
114
118
|
end
|
@@ -469,5 +473,34 @@ module Relaton
|
|
469
473
|
def process_queue(qwp)
|
470
474
|
while args = qwp[:queue].pop; qwp[:workers_pool] << args end
|
471
475
|
end
|
476
|
+
|
477
|
+
class << self
|
478
|
+
# Initialse and return relaton instance, with local and global cache names
|
479
|
+
# local_cache: local cache name; none created if nil; "relaton" created
|
480
|
+
# if empty global_cache: boolean to create global_cache
|
481
|
+
# flush_caches: flush caches
|
482
|
+
def init_bib_caches(**opts) # rubocop:disable Metrics/CyclomaticComplexity
|
483
|
+
globalname = global_bibliocache_name if opts[:global_cache]
|
484
|
+
localname = local_bibliocache_name(opts[:local_cache])
|
485
|
+
flush_caches globalname, localname if opts[:flush_caches]
|
486
|
+
Relaton::Db.new(globalname, localname)
|
487
|
+
end
|
488
|
+
|
489
|
+
private
|
490
|
+
|
491
|
+
def flush_caches(gcache, lcache)
|
492
|
+
FileUtils.rm_rf gcache unless gcache.nil?
|
493
|
+
FileUtils.rm_rf lcache unless lcache.nil?
|
494
|
+
end
|
495
|
+
|
496
|
+
def global_bibliocache_name
|
497
|
+
"#{Dir.home}/.relaton/cache"
|
498
|
+
end
|
499
|
+
|
500
|
+
def local_bibliocache_name(cachename)
|
501
|
+
cachename = "relaton" if cachename.nil? || cachename.empty?
|
502
|
+
"#{cachename}/cache"
|
503
|
+
end
|
504
|
+
end
|
472
505
|
end
|
473
506
|
end
|
data/lib/relaton/processor.rb
CHANGED
@@ -1,9 +1,16 @@
|
|
1
1
|
module Relaton
|
2
2
|
class Processor
|
3
|
+
# @rerurn [Symbol]
|
3
4
|
attr_reader :short
|
4
|
-
|
5
|
+
|
6
|
+
# @return [String]
|
7
|
+
attr_reader :prefix, :idtype
|
8
|
+
|
9
|
+
# @return [Regexp]
|
5
10
|
attr_reader :defaultprefix
|
6
|
-
|
11
|
+
|
12
|
+
# @return [Array<String>]
|
13
|
+
attr_reader :datasets
|
7
14
|
|
8
15
|
def initialize
|
9
16
|
raise "This is an abstract class!"
|
@@ -13,6 +20,10 @@ module Relaton
|
|
13
20
|
raise "This is an abstract class!"
|
14
21
|
end
|
15
22
|
|
23
|
+
def fetch_data(_source, _opts)
|
24
|
+
raise "This is an abstract class!"
|
25
|
+
end
|
26
|
+
|
16
27
|
def from_xml(_xml)
|
17
28
|
raise "This is an abstract class!"
|
18
29
|
end
|
data/lib/relaton/registry.rb
CHANGED
@@ -54,6 +54,17 @@ module Relaton
|
|
54
54
|
processors.keys
|
55
55
|
end
|
56
56
|
|
57
|
+
#
|
58
|
+
# Search a rpocessos by dataset name
|
59
|
+
#
|
60
|
+
# @param [String] dataset
|
61
|
+
#
|
62
|
+
# @return [Relaton::Processor, nil]
|
63
|
+
#
|
64
|
+
def find_processor_by_dataset(dataset)
|
65
|
+
processors.values.detect { |p| p.datasets&.include? dataset }
|
66
|
+
end
|
67
|
+
|
57
68
|
#
|
58
69
|
# Find processor by type
|
59
70
|
#
|
data/lib/relaton/version.rb
CHANGED
data/relaton.gemspec
CHANGED
@@ -27,38 +27,37 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.require_paths = ["lib"]
|
28
28
|
spec.files = `git ls-files`.split("\n")
|
29
29
|
spec.test_files = `git ls-files -- {spec}/*`.split("\n")
|
30
|
-
spec.required_ruby_version = Gem::Requirement.new(">= 2.
|
30
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
|
31
31
|
|
32
|
-
|
33
|
-
spec.add_dependency "relaton-
|
34
|
-
spec.add_dependency "relaton-
|
35
|
-
spec.add_dependency "relaton-
|
36
|
-
spec.add_dependency "relaton-
|
37
|
-
spec.add_dependency "relaton-
|
38
|
-
spec.add_dependency "relaton-
|
39
|
-
spec.add_dependency "relaton-
|
40
|
-
spec.add_dependency "relaton-
|
41
|
-
spec.add_dependency "relaton-
|
42
|
-
spec.add_dependency "relaton-
|
43
|
-
spec.add_dependency "relaton-
|
44
|
-
spec.add_dependency "relaton-
|
45
|
-
spec.add_dependency "relaton-
|
46
|
-
spec.add_dependency "relaton-
|
47
|
-
spec.add_dependency "relaton-
|
48
|
-
spec.add_dependency "relaton-
|
49
|
-
spec.add_dependency "relaton-
|
50
|
-
spec.add_dependency "relaton-w3c", "~> 1.8.0"
|
32
|
+
spec.add_dependency "relaton-bipm", "~> 1.9.0"
|
33
|
+
spec.add_dependency "relaton-bsi", "~> 1.9.0"
|
34
|
+
spec.add_dependency "relaton-calconnect", "~> 1.9.0"
|
35
|
+
spec.add_dependency "relaton-cen", "~> 1.9.0"
|
36
|
+
spec.add_dependency "relaton-cie", "~> 1.9.0"
|
37
|
+
spec.add_dependency "relaton-ecma", "~> 1.9.0"
|
38
|
+
spec.add_dependency "relaton-gb", "~> 1.9.0"
|
39
|
+
spec.add_dependency "relaton-iec", "~> 1.9.0"
|
40
|
+
spec.add_dependency "relaton-ieee", "~> 1.9.0"
|
41
|
+
spec.add_dependency "relaton-ietf", "~> 1.9.0"
|
42
|
+
spec.add_dependency "relaton-iho", "~> 1.9.0"
|
43
|
+
spec.add_dependency "relaton-iso", "~> 1.9.0"
|
44
|
+
spec.add_dependency "relaton-itu", "~> 1.9.0"
|
45
|
+
spec.add_dependency "relaton-nist", ">= 1.9.2"
|
46
|
+
spec.add_dependency "relaton-ogc", "~> 1.9.0"
|
47
|
+
spec.add_dependency "relaton-omg", "~> 1.9.0"
|
48
|
+
spec.add_dependency "relaton-un", "~> 1.9.0"
|
49
|
+
spec.add_dependency "relaton-w3c", "~> 1.9.0"
|
51
50
|
|
52
51
|
spec.add_development_dependency "byebug", "~> 11.0"
|
53
|
-
# spec.add_development_dependency "debase"
|
54
52
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
55
53
|
spec.add_development_dependency "guard", "~> 2.14"
|
56
54
|
spec.add_development_dependency "guard-rspec", "~> 4.7"
|
57
55
|
spec.add_development_dependency "pry-byebug", "~> 3.9.0"
|
58
56
|
spec.add_development_dependency "rake", "~> 13.0"
|
59
57
|
spec.add_development_dependency "rspec", "~> 3.6"
|
60
|
-
spec.add_development_dependency "rubocop", "
|
61
|
-
|
58
|
+
spec.add_development_dependency "rubocop", "~> 1.17.0"
|
59
|
+
spec.add_development_dependency "rubocop-performance", "~> 1.11.0"
|
60
|
+
spec.add_development_dependency "rubocop-rails", "~> 2.10.0"
|
62
61
|
spec.add_development_dependency "simplecov", "~> 0.15"
|
63
62
|
spec.add_development_dependency "timecop", "~> 0.9"
|
64
63
|
spec.add_development_dependency "vcr", "~> 5"
|
data/spec/relaton/db_spec.rb
CHANGED
@@ -163,14 +163,16 @@ RSpec.describe Relaton::Db do
|
|
163
163
|
results = []
|
164
164
|
VCR.use_cassette "async_fetch", match_requests_on: %i[method uri body] do
|
165
165
|
refs.each do |ref|
|
166
|
-
db.fetch_async(ref)
|
166
|
+
db.fetch_async(ref) do |r|
|
167
|
+
queue << [r, ref]
|
168
|
+
end
|
167
169
|
end
|
168
170
|
Timeout.timeout(60) do
|
169
171
|
refs.size.times { results << queue.pop }
|
170
172
|
end
|
171
173
|
end
|
172
174
|
results.each do |result|
|
173
|
-
expect(result).to be_instance_of RelatonItu::ItuBibliographicItem
|
175
|
+
expect(result[0]).to be_instance_of RelatonItu::ItuBibliographicItem
|
174
176
|
end
|
175
177
|
end
|
176
178
|
|
@@ -16,6 +16,10 @@ RSpec.describe Relaton::Processor do
|
|
16
16
|
expect { subject.get "code", nil, {} }.to raise_error StandardError
|
17
17
|
end
|
18
18
|
|
19
|
+
it "fetch_data method should be implemented" do
|
20
|
+
expect { subject.fetch_data "cource", {} }.to raise_error StandardError
|
21
|
+
end
|
22
|
+
|
19
23
|
it "from_xml method should be implemented" do
|
20
24
|
expect { subject.from_xml "" }.to raise_error StandardError
|
21
25
|
end
|
@@ -88,4 +88,10 @@ RSpec.describe Relaton::Registry do
|
|
88
88
|
expect(Relaton::Registry.instance.by_type("CEN")).to be_instance_of RelatonCen::Processor
|
89
89
|
end
|
90
90
|
end
|
91
|
+
|
92
|
+
it "find processot by dataset" do
|
93
|
+
expect(Relaton::Registry.instance
|
94
|
+
.find_processor_by_dataset("nist-tech-pubs"))
|
95
|
+
.to be_instance_of RelatonNist::Processor
|
96
|
+
end
|
91
97
|
end
|
data/spec/relaton_spec.rb
CHANGED
@@ -15,15 +15,15 @@ RSpec.describe Relaton::Db do
|
|
15
15
|
VCR.use_cassette "iso_19115_1" do
|
16
16
|
bib = @db.fetch("ISO 19115-1", nil, {})
|
17
17
|
expect(bib).to be_instance_of RelatonIsoBib::IsoBibliographicItem
|
18
|
-
expect(bib.to_xml(bibdata: true)).to include "<project-number>"\
|
18
|
+
expect(bib.to_xml(bibdata: true)).to include "<project-number part=\"1\">"\
|
19
19
|
"ISO 19115</project-number>"
|
20
20
|
expect(File.exist?("testcache")).to be true
|
21
21
|
expect(File.exist?("testcache2")).to be true
|
22
22
|
testcache = Relaton::DbCache.new "testcache"
|
23
|
-
expect(testcache["ISO(ISO 19115-1)"]).to include "<project-number>"\
|
23
|
+
expect(testcache["ISO(ISO 19115-1)"]).to include "<project-number part=\"1\">"\
|
24
24
|
"ISO 19115</project-number>"
|
25
25
|
testcache = Relaton::DbCache.new "testcache2"
|
26
|
-
expect(testcache["ISO(ISO 19115-1)"]).to include "<project-number>"\
|
26
|
+
expect(testcache["ISO(ISO 19115-1)"]).to include "<project-number part=\"1\">"\
|
27
27
|
"ISO 19115</project-number>"
|
28
28
|
end
|
29
29
|
bib = @db.fetch("ISO 19115-1", nil, {})
|
@@ -31,7 +31,7 @@ RSpec.describe Relaton::Db do
|
|
31
31
|
end
|
32
32
|
|
33
33
|
it "with year in code" do
|
34
|
-
VCR.use_cassette "
|
34
|
+
VCR.use_cassette "iso_19133_2005" do
|
35
35
|
bib = @db.fetch("ISO 19133:2005")
|
36
36
|
expect(bib).to be_instance_of RelatonIsoBib::IsoBibliographicItem
|
37
37
|
expect(bib.to_xml).to include '<bibitem id="ISO19133-2005" '\
|
@@ -45,24 +45,24 @@ RSpec.describe Relaton::Db do
|
|
45
45
|
|
46
46
|
context "all parts" do
|
47
47
|
it "implicity" do
|
48
|
-
VCR.use_cassette "
|
49
|
-
bib = @db.fetch("ISO 19115", nil,
|
48
|
+
VCR.use_cassette "iso_19115_all_parts" do
|
49
|
+
bib = @db.fetch("ISO 19115", nil, all_parts: true)
|
50
50
|
expect(bib.docidentifier[0].id).to eq "ISO 19115 (all parts)"
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
54
|
it "explicity" do
|
55
|
-
VCR.use_cassette "
|
56
|
-
bib = @db.fetch("ISO 19115 (all parts)"
|
55
|
+
VCR.use_cassette "iso_19115_all_parts" do
|
56
|
+
bib = @db.fetch("ISO 19115 (all parts)")
|
57
57
|
expect(bib.docidentifier[0].id).to eq "ISO 19115 (all parts)"
|
58
58
|
end
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
62
|
-
it "gets sn ISO/
|
63
|
-
VCR.use_cassette "
|
64
|
-
bib = @db.fetch "ISO/
|
65
|
-
expect(bib).
|
62
|
+
it "gets sn ISO/CD reference" do
|
63
|
+
VCR.use_cassette "iso_cd_14093" do
|
64
|
+
bib = @db.fetch "ISO/CD 14093"
|
65
|
+
expect(bib.docidentifier[0].id).to eq "ISO/CD 14093"
|
66
66
|
end
|
67
67
|
end
|
68
68
|
end
|
@@ -204,6 +204,13 @@ RSpec.describe Relaton::Db do
|
|
204
204
|
end
|
205
205
|
|
206
206
|
it "get OGC refrence and cache it" do
|
207
|
+
cc_fr = /\.relaton\/ogc\/bibliography\.json/
|
208
|
+
allow(File).to receive(:exist?).with(cc_fr).and_return false
|
209
|
+
allow(File).to receive(:exist?).with(/etag\.txt/).and_return false
|
210
|
+
expect(File).to receive(:exist?).and_call_original.at_least :once
|
211
|
+
expect(File).to receive(:write).with(cc_fr, kind_of(String), kind_of(Hash))
|
212
|
+
.at_most :once
|
213
|
+
allow(File).to receive(:write).and_call_original
|
207
214
|
VCR.use_cassette "ogc_19_025r1" do
|
208
215
|
bib = @db.fetch "OGC 19-025r1", nil, {}
|
209
216
|
expect(bib).to be_instance_of RelatonOgc::OgcBibliographicItem
|
@@ -0,0 +1,57 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.relaton.org/api/v1/document?code=ISO%2019115-2&year=2019
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- "*/*"
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
Host:
|
17
|
+
- api.relaton.org
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Content-Type:
|
24
|
+
- text/xml
|
25
|
+
Content-Length:
|
26
|
+
- '2963'
|
27
|
+
Connection:
|
28
|
+
- keep-alive
|
29
|
+
Date:
|
30
|
+
- Mon, 23 Aug 2021 12:02:12 GMT
|
31
|
+
X-Amzn-Requestid:
|
32
|
+
- '098ad305-defa-47c8-ab52-48343ab03fa8'
|
33
|
+
Access-Control-Allow-Origin:
|
34
|
+
- "*"
|
35
|
+
Access-Control-Allow-Headers:
|
36
|
+
- Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token
|
37
|
+
X-Amz-Apigw-Id:
|
38
|
+
- EhMocHeAoAMFtlg=
|
39
|
+
Access-Control-Allow-Methods:
|
40
|
+
- GET, POST, OPTIONS
|
41
|
+
X-Amzn-Trace-Id:
|
42
|
+
- Root=1-61238e35-5a78c6585f0a12aa03ef6ad2;Sampled=0
|
43
|
+
X-Cache:
|
44
|
+
- Miss from cloudfront
|
45
|
+
Via:
|
46
|
+
- 1.1 a65cc3f0f56427b7099c895c026d63f0.cloudfront.net (CloudFront)
|
47
|
+
X-Amz-Cf-Pop:
|
48
|
+
- ZAG50-C1
|
49
|
+
X-Amz-Cf-Id:
|
50
|
+
- AQ2ZtJn4PYqRprdqa7s-risSYgyC2fp3TfB26w8gi7l_4N7BHW252w==
|
51
|
+
body:
|
52
|
+
encoding: ASCII-8BIT
|
53
|
+
string: !binary |-
|
54
|
+
PGJpYmRhdGEgdHlwZT0ic3RhbmRhcmQiPgogIDxmZXRjaGVkPjIwMjEtMDctMTE8L2ZldGNoZWQ+CiAgPHRpdGxlIHR5cGU9InRpdGxlLWludHJvIiBmb3JtYXQ9InRleHQvcGxhaW4iIGxhbmd1YWdlPSJlbiIgc2NyaXB0PSJMYXRuIj5HZW9ncmFwaGljIGluZm9ybWF0aW9uPC90aXRsZT4KICA8dGl0bGUgdHlwZT0idGl0bGUtbWFpbiIgZm9ybWF0PSJ0ZXh0L3BsYWluIiBsYW5ndWFnZT0iZW4iIHNjcmlwdD0iTGF0biI+TWV0YWRhdGE8L3RpdGxlPgogIDx0aXRsZSB0eXBlPSJ0aXRsZS1wYXJ0IiBmb3JtYXQ9InRleHQvcGxhaW4iIGxhbmd1YWdlPSJlbiIgc2NyaXB0PSJMYXRuIj5QYXJ0IDI6IEV4dGVuc2lvbnMgZm9yIGFjcXVpc2l0aW9uIGFuZCBwcm9jZXNzaW5nPC90aXRsZT4KICA8dGl0bGUgdHlwZT0ibWFpbiIgZm9ybWF0PSJ0ZXh0L3BsYWluIiBsYW5ndWFnZT0iZW4iIHNjcmlwdD0iTGF0biI+R2VvZ3JhcGhpYyBpbmZvcm1hdGlvbiAtIE1ldGFkYXRhIC0gUGFydCAyOiBFeHRlbnNpb25zIGZvciBhY3F1aXNpdGlvbiBhbmQgcHJvY2Vzc2luZzwvdGl0bGU+CiAgPHRpdGxlIHR5cGU9InRpdGxlLWludHJvIiBmb3JtYXQ9InRleHQvcGxhaW4iIGxhbmd1YWdlPSJmciIgc2NyaXB0PSJMYXRuIj5JbmZvcm1hdGlvbiBnw6lvZ3JhcGhpcXVlPC90aXRsZT4KICA8dGl0bGUgdHlwZT0idGl0bGUtbWFpbiIgZm9ybWF0PSJ0ZXh0L3BsYWluIiBsYW5ndWFnZT0iZnIiIHNjcmlwdD0iTGF0biI+TcOpdGFkb25uw6llczwvdGl0bGU+CiAgPHRpdGxlIHR5cGU9InRpdGxlLXBhcnQiIGZvcm1hdD0idGV4dC9wbGFpbiIgbGFuZ3VhZ2U9ImZyIiBzY3JpcHQ9IkxhdG4iPlBhcnRpZSAyOiBFeHRlbnNpb25zIHBvdXIgbCdhY3F1aXNpdGlvbiBldCBsZSB0cmFpdGVtZW50PC90aXRsZT4KICA8dGl0bGUgdHlwZT0ibWFpbiIgZm9ybWF0PSJ0ZXh0L3BsYWluIiBsYW5ndWFnZT0iZnIiIHNjcmlwdD0iTGF0biI+SW5mb3JtYXRpb24gZ8Opb2dyYXBoaXF1ZSAtIE3DqXRhZG9ubsOpZXMgLSBQYXJ0aWUgMjogRXh0ZW5zaW9ucyBwb3VyIGwnYWNxdWlzaXRpb24gZXQgbGUgdHJhaXRlbWVudDwvdGl0bGU+CiAgPHVyaSB0eXBlPSJzcmMiPmh0dHBzOi8vd3d3Lmlzby5vcmcvc3RhbmRhcmQvNjcwMzkuaHRtbDwvdXJpPgogIDx1cmkgdHlwZT0ib2JwIj5odHRwczovL3d3dy5pc28ub3JnL29icC91aS8jIWlzbzpzdGQ6NjcwMzk6ZW48L3VyaT4KICA8dXJpIHR5cGU9InJzcyI+aHR0cHM6Ly93d3cuaXNvLm9yZy9jb250ZW50cy9kYXRhL3N0YW5kYXJkLzA2LzcwLzY3MDM5LmRldGFpbC5yc3M8L3VyaT4KICA8ZG9jaWRlbnRpZmllciB0eXBlPSJJU08iPklTTyAxOTExNS0yOjIwMTk8L2RvY2lkZW50aWZpZXI+CiAgPGRvY2lkZW50aWZpZXIgdHlwZT0iVVJOIj51cm46aXNvOnN0ZDppc286MTkxMTU6LTI6c3RhZ2UtNjAuNjA6ZWQtMjplbixmcjwvZG9jaWRlbnRpZmllcj4KICA8ZG9jbnVtYmVyPjE5MTE1PC9kb2NudW1iZXI+CiAgPGRhdGUgdHlwZT0icHVibGlzaGVkIj4KICAgIDxvbj4yMDE5LTAxPC9vbj4KICA8L2RhdGU+CiAgPGNvbnRyaWJ1dG9yPgogICAgPHJvbGUgdHlwZT0icHVibGlzaGVyIi8+CiAgICA8b3JnYW5pemF0aW9uPgogICAgICA8bmFtZT5JbnRlcm5hdGlvbmFsIE9yZ2FuaXphdGlvbiBmb3IgU3RhbmRhcmRpemF0aW9uPC9uYW1lPgogICAgICA8YWJicmV2aWF0aW9uPklTTzwvYWJicmV2aWF0aW9uPgogICAgICA8dXJpPnd3dy5pc28ub3JnPC91cmk+CiAgICA8L29yZ2FuaXphdGlvbj4KICA8L2NvbnRyaWJ1dG9yPgogIDxlZGl0aW9uPjI8L2VkaXRpb24+CiAgPGxhbmd1YWdlPmVuPC9sYW5ndWFnZT4KICA8bGFuZ3VhZ2U+ZnI8L2xhbmd1YWdlPgogIDxzY3JpcHQ+TGF0bjwvc2NyaXB0PgogIDxzdGF0dXM+CiAgICA8c3RhZ2U+NjA8L3N0YWdlPgogICAgPHN1YnN0YWdlPjYwPC9zdWJzdGFnZT4KICA8L3N0YXR1cz4KICA8Y29weXJpZ2h0PgogICAgPGZyb20+MjAxOTwvZnJvbT4KICAgIDxvd25lcj4KICAgICAgPG9yZ2FuaXphdGlvbj4KICAgICAgICA8bmFtZT5JU088L25hbWU+CiAgICAgIDwvb3JnYW5pemF0aW9uPgogICAgPC9vd25lcj4KICA8L2NvcHlyaWdodD4KICA8cmVsYXRpb24gdHlwZT0ib2Jzb2xldGVzIj4KICAgIDxiaWJpdGVtIHR5cGU9InN0YW5kYXJkIj4KICAgICAgPGZvcm1hdHRlZHJlZiBmb3JtYXQ9InRleHQvcGxhaW4iPklTTyAxOTExNS0yOjIwMDk8L2Zvcm1hdHRlZHJlZj4KICAgIDwvYmliaXRlbT4KICA8L3JlbGF0aW9uPgogIDxyZWxhdGlvbiB0eXBlPSJ1cGRhdGVzIj4KICAgIDxiaWJpdGVtIHR5cGU9InN0YW5kYXJkIj4KICAgICAgPGZvcm1hdHRlZHJlZiBmb3JtYXQ9InRleHQvcGxhaW4iPklTTyAxOTExNS0yOjIwMTkvUFJGIEFtZCAxPC9mb3JtYXR0ZWRyZWY+CiAgICAgIDxkYXRlIHR5cGU9ImNpcmN1bGF0ZWQiPgogICAgICAgIDxvbj4yMDE5LTAxLTEwPC9vbj4KICAgICAgPC9kYXRlPgogICAgPC9iaWJpdGVtPgogIDwvcmVsYXRpb24+CiAgPHBsYWNlPkdlbmV2YTwvcGxhY2U+CiAgPGV4dD4KICAgIDxkb2N0eXBlPmludGVybmF0aW9uYWwtc3RhbmRhcmQ8L2RvY3R5cGU+CiAgICA8ZWRpdG9yaWFsZ3JvdXA+CiAgICAgIDx0ZWNobmljYWwtY29tbWl0dGVlIG51bWJlcj0iMjExIiB0eXBlPSJUQyI+SVNPL1RDIDIxMUdlb2dyYXBoaWMgaW5mb3JtYXRpb24vR2VvbWF0aWNzPC90ZWNobmljYWwtY29tbWl0dGVlPgogICAgPC9lZGl0b3JpYWxncm91cD4KICAgIDxpY3M+CiAgICAgIDxjb2RlPjM1LjI0MC43MDwvY29kZT4KICAgICAgPHRleHQ+SVQgYXBwbGljYXRpb25zIGluIHNjaWVuY2U8L3RleHQ+CiAgICA8L2ljcz4KICAgIDxzdHJ1Y3R1cmVkaWRlbnRpZmllciB0eXBlPSJJU08iPgogICAgICA8cHJvamVjdC1udW1iZXI+SVNPIDE5MTE1PC9wcm9qZWN0LW51bWJlcj4KICAgIDwvc3RydWN0dXJlZGlkZW50aWZpZXI+CiAgPC9leHQ+CjwvYmliZGF0YT4=
|
55
|
+
http_version:
|
56
|
+
recorded_at: Mon, 23 Aug 2021 12:02:12 GMT
|
57
|
+
recorded_with: VCR 5.1.0
|