bolognese 0.9.44 → 0.9.45

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: be5ff8d2cb487f38006b3f0a81f125e88d124a2e
4
- data.tar.gz: 2b2f59eed9a9fbdd4443efc5af1613f16851e0b1
3
+ metadata.gz: cf671d38e93b0035447b712f3b5c8f716ccedd3d
4
+ data.tar.gz: d8651b8588f89cbb6b8d75a9e597577fbb516c24
5
5
  SHA512:
6
- metadata.gz: cb232308a6368e28f9060a53b51a3a536e9ce4b59e563e99ee3da807959d350d12912fda4268c5fbe8049249250133b7b38030a2818dcba0f99df5d05d451b46
7
- data.tar.gz: ec433292152dcc8917c0dc90edf35be5b5c52876b6d607111b87e722780731e6c44e50795afcd614379cb5cef7c7a9c3def71a271b3069546e614716e1eb6d1c
6
+ metadata.gz: 78ade4ddb953a957499dc5d96f45303690f86e62b6ebaf993fb2294fa56367cad3929467b761f0586f2b951bd1776bff6a4eafaf0bed7a29c6e106b334b0eca2
7
+ data.tar.gz: 2200ec401912175b3bce9042da81fd6526fe3176a419f6af72577d95fdc25522ca272fe46c11396799a91f7e0128a8b90cff1695fd04b4a4da71a6218478ccd6
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (0.9.44)
4
+ bolognese (0.9.45)
5
5
  activesupport (>= 4.2.5, < 6)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (~> 4.1)
@@ -2,6 +2,7 @@ module Bolognese
2
2
  module DoiUtils
3
3
  def validate_doi(doi)
4
4
  doi = Array(/\A(?:(http|https):\/(\/)?(dx\.)?(doi.org|handle.test.datacite.org)\/)?(doi:)?(10\.\d{4,5}\/.+)\z/.match(doi)).last
5
+ # remove non-printing whitespace and downcase
5
6
  doi = doi.delete("\u200B").downcase if doi.present?
6
7
  end
7
8
 
@@ -18,9 +19,6 @@ module Bolognese
18
19
  doi_str = validate_doi(doi)
19
20
  return nil unless doi_str.present?
20
21
 
21
- # remove non-printing whitespace and downcase
22
- doi_str = doi_str.delete("\u200B").downcase
23
-
24
22
  # turn DOI into URL, escape unsafe characters
25
23
  doi_resolver(doi, options) + Addressable::URI.encode(doi_str)
26
24
  end
@@ -15,7 +15,20 @@ module Bolognese
15
15
 
16
16
  string = attributes.fetch('xml', "PGhzaD48L2hzaD4=\n")
17
17
  string = Base64.decode64(string)
18
- string = Nokogiri::XML(string, nil, 'UTF-8', &:noblanks).to_s if string.present?
18
+
19
+ if string.present?
20
+ doc = Nokogiri::XML(string, nil, 'UTF-8', &:noblanks)
21
+
22
+ # remove leading and trailing whitespace in text nodes
23
+ doc.xpath("//text()").each do |node|
24
+ if node.content =~ /\S/
25
+ node.content = node.content.strip
26
+ else
27
+ node.remove
28
+ end
29
+ end
30
+ string = doc.to_s
31
+ end
19
32
 
20
33
  response = Maremma.head(id, limit: 0)
21
34
  url = response.headers.present? ? response.headers["location"] : nil
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "0.9.44"
2
+ VERSION = "0.9.45"
3
3
  end
@@ -0,0 +1,144 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.datacite.org/prefixes/10.5438
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Access-Control-Allow-Headers:
20
+ - Content-Type,Accept,Accept-Encoding,Origin,User-Agent,Cache-Control,Keep-Alive
21
+ Access-Control-Allow-Methods:
22
+ - GET, POST, OPTIONS
23
+ Access-Control-Allow-Origin:
24
+ - "*"
25
+ Access-Control-Max-Age:
26
+ - '1728000'
27
+ Cache-Control:
28
+ - max-age=0, private, must-revalidate
29
+ Content-Type:
30
+ - application/vnd.api+json; charset=utf-8
31
+ Date:
32
+ - Wed, 23 Aug 2017 10:23:50 GMT
33
+ Etag:
34
+ - W/"b9f2d79281c542db437c42a5bac25ac8"
35
+ Server:
36
+ - openresty/1.11.2.2
37
+ Status:
38
+ - 200 OK
39
+ Vary:
40
+ - Accept-Encoding
41
+ Via:
42
+ - kong/0.10.3
43
+ X-Content-Type-Options:
44
+ - nosniff
45
+ X-Frame-Options:
46
+ - SAMEORIGIN
47
+ X-Kong-Proxy-Latency:
48
+ - '2'
49
+ X-Kong-Upstream-Latency:
50
+ - '525'
51
+ X-Powered-By:
52
+ - Phusion Passenger 5.1.6
53
+ X-Ratelimit-Limit-Hour:
54
+ - '100000'
55
+ X-Ratelimit-Remaining-Hour:
56
+ - '99991'
57
+ X-Request-Id:
58
+ - 12891bf2-772a-44c8-8a07-45272ad45197
59
+ X-Runtime:
60
+ - '0.523766'
61
+ X-Xss-Protection:
62
+ - 1; mode=block
63
+ Content-Length:
64
+ - '124'
65
+ Connection:
66
+ - keep-alive
67
+ body:
68
+ encoding: UTF-8
69
+ string: '{"data":{"id":"10.5438","type":"prefixes","attributes":{"registration-agency":"DataCite","updated":"2016-09-21T20:27:15Z"}}}'
70
+ http_version:
71
+ recorded_at: Wed, 23 Aug 2017 10:23:50 GMT
72
+ - request:
73
+ method: get
74
+ uri: https://search.test.datacite.org/api?fl=doi,xml,allocator_symbol,datacentre_symbol,media,minted,updated&q=doi:10.5438/mcnv-ga6n&wt=json
75
+ body:
76
+ encoding: US-ASCII
77
+ string: ''
78
+ headers:
79
+ User-Agent:
80
+ - Maremma - https://github.com/datacite/maremma
81
+ Accept:
82
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
83
+ response:
84
+ status:
85
+ code: 200
86
+ message: OK
87
+ headers:
88
+ Access-Control-Allow-Methods:
89
+ - GET, POST, OPTIONS
90
+ Access-Control-Allow-Origin:
91
+ - "*"
92
+ Content-Type:
93
+ - application/json;charset=UTF-8
94
+ Date:
95
+ - Wed, 23 Aug 2017 10:23:50 GMT
96
+ Server:
97
+ - openresty/1.11.2.2
98
+ Content-Length:
99
+ - '2467'
100
+ Connection:
101
+ - keep-alive
102
+ body:
103
+ encoding: UTF-8
104
+ string: '{"responseHeader":{"status":0,"QTime":0},"response":{"numFound":1,"start":0,"docs":[{"datacentre_symbol":"DATACITE.DATACITE","xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00L21ldGFkYXRhLnhzZCI+CiAgPGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTQzOC9NQ05WLUdBNk48L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZT5XaXR0LCBNaWNoYWVsPC9jcmVhdG9yTmFtZT4KICAgICAgPGdpdmVuTmFtZT5NaWNoYWVsPC9naXZlbk5hbWU+CiAgICAgIDxmYW1pbHlOYW1lPldpdHQ8L2ZhbWlseU5hbWU+CiAgICAgIDxuYW1lSWRlbnRpZmllciBzY2hlbWVVUkk9Imh0dHA6Ly9vcmNpZC5vcmcvIiBuYW1lSWRlbnRpZmllclNjaGVtZT0iT1JDSUQiPjAwMDAtMDAwMy00MjIxLTc5NTY8L25hbWVJZGVudGlmaWVyPgogICAgPC9jcmVhdG9yPgogIDwvY3JlYXRvcnM+CiAgPHRpdGxlcz4KICAgIDx0aXRsZT5yZTNkYXRhIFdlYmluYXIgYW5kIERhdGFDaXRlOiBFbiBBdmFudCE8L3RpdGxlPgogIDwvdGl0bGVzPgogIDxwdWJsaXNoZXI+RGF0YUNpdGUgQmxvZzwvcHVibGlzaGVyPgogIDxwdWJsaWNhdGlvblllYXI+MjAxNTwvcHVibGljYXRpb25ZZWFyPgogIDxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iVGV4dCI+QmxvZ1Bvc3Rpbmc8L3Jlc291cmNlVHlwZT4KICA8c3ViamVjdHM+CiAgICA8c3ViamVjdD5yZTNkYXRhPC9zdWJqZWN0PgogIDwvc3ViamVjdHM+CiAgPGNvbnRyaWJ1dG9ycz4KICAgIDxjb250cmlidXRvciBjb250cmlidXRvclR5cGU9Ikhvc3RpbmdJbnN0aXR1dGlvbiI+CiAgICAgIDxjb250cmlidXRvck5hbWU+RGF0YUNpdGU8L2NvbnRyaWJ1dG9yTmFtZT4KICAgIDwvY29udHJpYnV0b3I+CiAgPC9jb250cmlidXRvcnM+CiAgPGRhdGVzPgogICAgPGRhdGUgZGF0ZVR5cGU9Iklzc3VlZCI+MjAxNS0xMS0yNTwvZGF0ZT4KICA8L2RhdGVzPgogIDx2ZXJzaW9uPjEuMDwvdmVyc2lvbj4KICA8cmlnaHRzTGlzdD4KICAgIDxyaWdodHMgcmlnaHRzVVJJPSJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvNC4wLyI+Q3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbjwvcmlnaHRzPgogIDwvcmlnaHRzTGlzdD4KICA8ZGVzY3JpcHRpb25zPgogICAgPGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iQWJzdHJhY3QiPlRoZSBpbmF1Z3VyYWwgbWVldGluZyBvZiB0aGUgRGF0YUNpdGUgcmUzZGF0YSBXb3JraW5nIEdyb3VwIHdhcyBjb252ZW5lZCBpbiBQYXJpcyBvbiBTZXB0ZW1iZXIgMjB0aCBhdCB0aGUgb2ZmaWNlcyBvZiB0aGUgSW50ZXJuYXRpb25hbCBDb3VuY2lsIGZvciBTY2llbmNlIChJQ1NVKS4gQ28tY2hhaXJzIE1pY2hhZWwgV2l0dCBhbmQgRnJhbmsgU2Nob2x6ZSBnYXZlIHRoZSBiYWNrZ3JvdW5kIGFuZCBoaXN0b3J5IG9mIERhdGFiaWIuLi48L2Rlc2NyaXB0aW9uPgogIDwvZGVzY3JpcHRpb25zPgo8L3Jlc291cmNlPg==","allocator_symbol":"DATACITE","minted":"2016-12-19T15:46:57Z","updated":"2017-07-24T02:05:32Z","doi":"10.5438/MCNV-GA6N"}]}}
105
+
106
+ '
107
+ http_version:
108
+ recorded_at: Wed, 23 Aug 2017 10:23:50 GMT
109
+ - request:
110
+ method: head
111
+ uri: https://handle.test.datacite.org/10.5438/mcnv-ga6n
112
+ body:
113
+ encoding: US-ASCII
114
+ string: ''
115
+ headers:
116
+ User-Agent:
117
+ - Maremma - https://github.com/datacite/maremma
118
+ Accept:
119
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
120
+ response:
121
+ status:
122
+ code: 302
123
+ message: Found
124
+ headers:
125
+ Access-Control-Allow-Methods:
126
+ - GET, POST, OPTIONS
127
+ Access-Control-Allow-Origin:
128
+ - "*"
129
+ Content-Type:
130
+ - text/html; charset=utf-8
131
+ Date:
132
+ - Wed, 23 Aug 2017 10:23:51 GMT
133
+ Location:
134
+ - https://blog.datacite.org/re3data-webinar-and-datacite-en-avant/
135
+ Server:
136
+ - openresty/1.11.2.2
137
+ Connection:
138
+ - keep-alive
139
+ body:
140
+ encoding: UTF-8
141
+ string: ''
142
+ http_version:
143
+ recorded_at: Wed, 23 Aug 2017 10:23:51 GMT
144
+ recorded_with: VCR 3.0.3
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://api.datacite.org/prefixes/10.5438
5
+ uri: https://api.datacite.org/prefixes/10.20375
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -29,9 +29,9 @@ http_interactions:
29
29
  Content-Type:
30
30
  - application/vnd.api+json; charset=utf-8
31
31
  Date:
32
- - Wed, 23 Aug 2017 08:05:37 GMT
32
+ - Wed, 23 Aug 2017 10:36:24 GMT
33
33
  Etag:
34
- - W/"b9f2d79281c542db437c42a5bac25ac8"
34
+ - W/"10fd17ede9662cd6313674701fd1aadb"
35
35
  Server:
36
36
  - openresty/1.11.2.2
37
37
  Status:
@@ -47,31 +47,29 @@ http_interactions:
47
47
  X-Kong-Proxy-Latency:
48
48
  - '1'
49
49
  X-Kong-Upstream-Latency:
50
- - '825'
50
+ - '1005'
51
51
  X-Powered-By:
52
52
  - Phusion Passenger 5.1.6
53
53
  X-Ratelimit-Limit-Hour:
54
54
  - '100000'
55
55
  X-Ratelimit-Remaining-Hour:
56
- - '99930'
56
+ - '99990'
57
57
  X-Request-Id:
58
- - 02fd2e8e-8a63-4fef-a4f7-9344e8396ce8
58
+ - ce7f3b0f-c2ed-4edc-9ce0-e40a8bdeb995
59
59
  X-Runtime:
60
- - '0.736433'
60
+ - '0.365960'
61
61
  X-Xss-Protection:
62
62
  - 1; mode=block
63
- Content-Length:
64
- - '124'
65
63
  Connection:
66
64
  - keep-alive
67
65
  body:
68
66
  encoding: UTF-8
69
- string: '{"data":{"id":"10.5438","type":"prefixes","attributes":{"registration-agency":"DataCite","updated":"2016-09-21T20:27:15Z"}}}'
67
+ string: '{"data":{"id":"10.20375","type":"prefixes","attributes":{"registration-agency":"DataCite","updated":"2016-09-21T20:25:58Z"}}}'
70
68
  http_version:
71
- recorded_at: Wed, 23 Aug 2017 08:05:37 GMT
69
+ recorded_at: Wed, 23 Aug 2017 10:36:24 GMT
72
70
  - request:
73
71
  method: get
74
- uri: https://search.test.datacite.org/api?fl=doi,xml,allocator_symbol,datacentre_symbol,media,minted,updated&q=doi:10.5438/mcnv-ga6n&wt=json
72
+ uri: https://search.test.datacite.org/api?fl=doi,xml,allocator_symbol,datacentre_symbol,media,minted,updated&q=doi:10.20375/0000-0001-ddb8-7&wt=json
75
73
  body:
76
74
  encoding: US-ASCII
77
75
  string: ''
@@ -92,23 +90,21 @@ http_interactions:
92
90
  Content-Type:
93
91
  - application/json;charset=UTF-8
94
92
  Date:
95
- - Wed, 23 Aug 2017 08:05:37 GMT
93
+ - Wed, 23 Aug 2017 10:36:24 GMT
96
94
  Server:
97
95
  - openresty/1.11.2.2
98
- Content-Length:
99
- - '2467'
100
96
  Connection:
101
97
  - keep-alive
102
98
  body:
103
99
  encoding: UTF-8
104
- string: '{"responseHeader":{"status":0,"QTime":0},"response":{"numFound":1,"start":0,"docs":[{"datacentre_symbol":"DATACITE.DATACITE","xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00L21ldGFkYXRhLnhzZCI+CiAgPGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTQzOC9NQ05WLUdBNk48L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZT5XaXR0LCBNaWNoYWVsPC9jcmVhdG9yTmFtZT4KICAgICAgPGdpdmVuTmFtZT5NaWNoYWVsPC9naXZlbk5hbWU+CiAgICAgIDxmYW1pbHlOYW1lPldpdHQ8L2ZhbWlseU5hbWU+CiAgICAgIDxuYW1lSWRlbnRpZmllciBzY2hlbWVVUkk9Imh0dHA6Ly9vcmNpZC5vcmcvIiBuYW1lSWRlbnRpZmllclNjaGVtZT0iT1JDSUQiPjAwMDAtMDAwMy00MjIxLTc5NTY8L25hbWVJZGVudGlmaWVyPgogICAgPC9jcmVhdG9yPgogIDwvY3JlYXRvcnM+CiAgPHRpdGxlcz4KICAgIDx0aXRsZT5yZTNkYXRhIFdlYmluYXIgYW5kIERhdGFDaXRlOiBFbiBBdmFudCE8L3RpdGxlPgogIDwvdGl0bGVzPgogIDxwdWJsaXNoZXI+RGF0YUNpdGUgQmxvZzwvcHVibGlzaGVyPgogIDxwdWJsaWNhdGlvblllYXI+MjAxNTwvcHVibGljYXRpb25ZZWFyPgogIDxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iVGV4dCI+QmxvZ1Bvc3Rpbmc8L3Jlc291cmNlVHlwZT4KICA8c3ViamVjdHM+CiAgICA8c3ViamVjdD5yZTNkYXRhPC9zdWJqZWN0PgogIDwvc3ViamVjdHM+CiAgPGNvbnRyaWJ1dG9ycz4KICAgIDxjb250cmlidXRvciBjb250cmlidXRvclR5cGU9Ikhvc3RpbmdJbnN0aXR1dGlvbiI+CiAgICAgIDxjb250cmlidXRvck5hbWU+RGF0YUNpdGU8L2NvbnRyaWJ1dG9yTmFtZT4KICAgIDwvY29udHJpYnV0b3I+CiAgPC9jb250cmlidXRvcnM+CiAgPGRhdGVzPgogICAgPGRhdGUgZGF0ZVR5cGU9Iklzc3VlZCI+MjAxNS0xMS0yNTwvZGF0ZT4KICA8L2RhdGVzPgogIDx2ZXJzaW9uPjEuMDwvdmVyc2lvbj4KICA8cmlnaHRzTGlzdD4KICAgIDxyaWdodHMgcmlnaHRzVVJJPSJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvNC4wLyI+Q3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbjwvcmlnaHRzPgogIDwvcmlnaHRzTGlzdD4KICA8ZGVzY3JpcHRpb25zPgogICAgPGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iQWJzdHJhY3QiPlRoZSBpbmF1Z3VyYWwgbWVldGluZyBvZiB0aGUgRGF0YUNpdGUgcmUzZGF0YSBXb3JraW5nIEdyb3VwIHdhcyBjb252ZW5lZCBpbiBQYXJpcyBvbiBTZXB0ZW1iZXIgMjB0aCBhdCB0aGUgb2ZmaWNlcyBvZiB0aGUgSW50ZXJuYXRpb25hbCBDb3VuY2lsIGZvciBTY2llbmNlIChJQ1NVKS4gQ28tY2hhaXJzIE1pY2hhZWwgV2l0dCBhbmQgRnJhbmsgU2Nob2x6ZSBnYXZlIHRoZSBiYWNrZ3JvdW5kIGFuZCBoaXN0b3J5IG9mIERhdGFiaWIuLi48L2Rlc2NyaXB0aW9uPgogIDwvZGVzY3JpcHRpb25zPgo8L3Jlc291cmNlPg==","allocator_symbol":"DATACITE","minted":"2016-12-19T15:46:57Z","updated":"2017-07-24T02:05:32Z","doi":"10.5438/MCNV-GA6N"}]}}
100
+ string: '{"responseHeader":{"status":0,"QTime":0},"response":{"numFound":1,"start":0,"docs":[{"datacentre_symbol":"SUBGOE.DARIAH","xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pgo8cmVzb3VyY2UgeG1sbnM9Imh0dHA6Ly9kYXRhY2l0ZS5vcmcvc2NoZW1hL2tlcm5lbC00IiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9kYXRhY2l0ZS5vcmcvc2NoZW1hL2tlcm5lbC00IGh0dHA6Ly9zY2hlbWEuZGF0YWNpdGUub3JnL21ldGEva2VybmVsLTQvbWV0YWRhdGEueHNkIj4KICAgIDxpZGVudGlmaWVyIGlkZW50aWZpZXJUeXBlPSJET0kiPjEwLjIwMzc1LzAwMDAtMDAwMS1EREI4LTc8L2lkZW50aWZpZXI+CiAgICA8Y3JlYXRvcnM+CiAgICAgICAgPGNyZWF0b3I+CiAgICAgICAgICAgIDxjcmVhdG9yTmFtZT5mdTwvY3JlYXRvck5hbWU+CiAgICAgICAgPC9jcmVhdG9yPgogICAgPC9jcmVhdG9ycz4KICAgIDx0aXRsZXM+CiAgICAgICAgPHRpdGxlPklNR18wMTM0LmpwZzwvdGl0bGU+CiAgICA8L3RpdGxlcz4KICAgIDxwdWJsaXNoZXI+REFSSUFILURFPC9wdWJsaXNoZXI+CiAgICA8cHVibGljYXRpb25ZZWFyPjIwMTc8L3B1YmxpY2F0aW9uWWVhcj4KICAgIDxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iRGF0YXNldCI+RGF0YXNldDwvcmVzb3VyY2VUeXBlPgogICAgPGRhdGVzPgogICAgICAgIDxkYXRlIGRhdGVUeXBlPSJDcmVhdGVkIj4yMDE1LTA2LTIwVDE2OjU0OjM3PC9kYXRlPgogICAgPC9kYXRlcz4KICAgIDxyZWxhdGVkSWRlbnRpZmllcnM+CiAgICAgICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iSGFuZGxlIiByZWxhdGlvblR5cGU9IklzSWRlbnRpY2FsVG8iPjIxLlQxMTk5OC8wMDAwLTAwMDEtRERCOC03PC9yZWxhdGVkSWRlbnRpZmllcj4KICAgIDwvcmVsYXRlZElkZW50aWZpZXJzPgogICAgPGZvcm1hdHM+CiAgICAgICAgPGZvcm1hdD5pbWFnZS9qcGVnPC9mb3JtYXQ+CiAgICA8L2Zvcm1hdHM+CiAgICA8cmlnaHRzTGlzdD4KICAgICAgICA8cmlnaHRzPmZyZWU8L3JpZ2h0cz4KICAgIDwvcmlnaHRzTGlzdD4KPC9yZXNvdXJjZT4K","allocator_symbol":"SUBGOE","minted":"2017-08-22T17:29:41Z","updated":"2017-08-22T17:29:41Z","doi":"10.20375/0000-0001-DDB8-7"}]}}
105
101
 
106
102
  '
107
103
  http_version:
108
- recorded_at: Wed, 23 Aug 2017 08:05:37 GMT
104
+ recorded_at: Wed, 23 Aug 2017 10:36:24 GMT
109
105
  - request:
110
106
  method: head
111
- uri: https://handle.test.datacite.org/10.5438/mcnv-ga6n
107
+ uri: https://handle.test.datacite.org/10.20375/0000-0001-ddb8-7
112
108
  body:
113
109
  encoding: US-ASCII
114
110
  string: ''
@@ -129,9 +125,9 @@ http_interactions:
129
125
  Content-Type:
130
126
  - text/html; charset=utf-8
131
127
  Date:
132
- - Wed, 23 Aug 2017 08:05:37 GMT
128
+ - Wed, 23 Aug 2017 10:36:24 GMT
133
129
  Location:
134
- - https://blog.datacite.org/re3data-webinar-and-datacite-en-avant/
130
+ - https://hdl.handle.net/21.T11998/0000-0001-DDB8-7
135
131
  Server:
136
132
  - openresty/1.11.2.2
137
133
  Connection:
@@ -140,5 +136,5 @@ http_interactions:
140
136
  encoding: UTF-8
141
137
  string: ''
142
138
  http_version:
143
- recorded_at: Wed, 23 Aug 2017 08:05:37 GMT
139
+ recorded_at: Wed, 23 Aug 2017 10:36:24 GMT
144
140
  recorded_with: VCR 3.0.3
@@ -0,0 +1,142 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.datacite.org/prefixes/10.21944
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Access-Control-Allow-Headers:
20
+ - Content-Type,Accept,Accept-Encoding,Origin,User-Agent,Cache-Control,Keep-Alive
21
+ Access-Control-Allow-Methods:
22
+ - GET, POST, OPTIONS
23
+ Access-Control-Allow-Origin:
24
+ - "*"
25
+ Access-Control-Max-Age:
26
+ - '1728000'
27
+ Cache-Control:
28
+ - max-age=0, private, must-revalidate
29
+ Content-Type:
30
+ - application/vnd.api+json; charset=utf-8
31
+ Date:
32
+ - Wed, 23 Aug 2017 11:10:46 GMT
33
+ Etag:
34
+ - W/"3a696fbe66f75ae30be590971b490d81"
35
+ Server:
36
+ - openresty/1.11.2.2
37
+ Status:
38
+ - 200 OK
39
+ Vary:
40
+ - Accept-Encoding
41
+ Via:
42
+ - kong/0.10.3
43
+ X-Content-Type-Options:
44
+ - nosniff
45
+ X-Frame-Options:
46
+ - SAMEORIGIN
47
+ X-Kong-Proxy-Latency:
48
+ - '13'
49
+ X-Kong-Upstream-Latency:
50
+ - '1259'
51
+ X-Powered-By:
52
+ - Phusion Passenger 5.1.6
53
+ X-Ratelimit-Limit-Hour:
54
+ - '100000'
55
+ X-Ratelimit-Remaining-Hour:
56
+ - '99999'
57
+ X-Request-Id:
58
+ - da402e82-7d4b-4be7-aa5b-39f1a24fc5b1
59
+ X-Runtime:
60
+ - '0.674045'
61
+ X-Xss-Protection:
62
+ - 1; mode=block
63
+ Content-Length:
64
+ - '125'
65
+ Connection:
66
+ - keep-alive
67
+ body:
68
+ encoding: UTF-8
69
+ string: '{"data":{"id":"10.21944","type":"prefixes","attributes":{"registration-agency":"DataCite","updated":"2016-09-21T20:26:28Z"}}}'
70
+ http_version:
71
+ recorded_at: Wed, 23 Aug 2017 11:10:46 GMT
72
+ - request:
73
+ method: get
74
+ uri: https://search.datacite.org/api?fl=doi,xml,allocator_symbol,datacentre_symbol,media,minted,updated&q=doi:10.21944/temis-ozone-msr2&wt=json
75
+ body:
76
+ encoding: US-ASCII
77
+ string: ''
78
+ headers:
79
+ User-Agent:
80
+ - Maremma - https://github.com/datacite/maremma
81
+ Accept:
82
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
83
+ response:
84
+ status:
85
+ code: 200
86
+ message: OK
87
+ headers:
88
+ Access-Control-Allow-Methods:
89
+ - GET, POST, OPTIONS
90
+ Access-Control-Allow-Origin:
91
+ - "*"
92
+ Content-Type:
93
+ - application/json;charset=UTF-8
94
+ Date:
95
+ - Wed, 23 Aug 2017 11:10:46 GMT
96
+ Server:
97
+ - openresty/1.11.2.2
98
+ Connection:
99
+ - keep-alive
100
+ body:
101
+ encoding: UTF-8
102
+ string: '{"responseHeader":{"status":0,"QTime":2},"response":{"numFound":1,"start":0,"docs":[{"datacentre_symbol":"DELFT.KNMI","xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgCiAgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIAogICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9kYXRhY2l0ZS5vcmcvc2NoZW1hL2tlcm5lbC00IAogICAgICAgICAgICBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00L21ldGFkYXRhLnhzZCI+CgogIDxpZGVudGlmaWVyIGlkZW50aWZpZXJUeXBlPSJET0kiPgogICAgMTAuMjE5NDQvdGVtaXMtb3pvbmUtbXNyMgogIDwvaWRlbnRpZmllcj4KICAKICA8Y3JlYXRvcnM+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lPgogICAgICAgIFZhbiBkZXIgQSwgUm9uYWxkCiAgICAgIDwvY3JlYXRvck5hbWU+CiAgICAgIDxuYW1lSWRlbnRpZmllciBuYW1lSWRlbnRpZmllclNjaGVtZT0iT1JDSUQiIHNjaGVtZVVSST0iaHR0cDovL29yY2lkLm9yZyI+CiAgICAgICAgMDAwMC0wMDAyLTAwNzctNTMzOAogICAgICA8L25hbWVJZGVudGlmaWVyPgogICAgICA8YWZmaWxpYXRpb24+CiAgICAgICAgUm95YWwgTmV0aGVybGFuZHMgTWV0ZW9yb2xvZ2ljYWwgSW5zdGl0dXRlIChLTk1JKQogICAgICA8L2FmZmlsaWF0aW9uPgogICAgPC9jcmVhdG9yPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZT4KICAgICAgICBBbGxhYXJ0LCBNYXJjCiAgICAgIDwvY3JlYXRvck5hbWU+CiAgICAgIDxhZmZpbGlhdGlvbj4KICAgICAgICBSb3lhbCBOZXRoZXJsYW5kcyBNZXRlb3JvbG9naWNhbCBJbnN0aXR1dGUgKEtOTUkpCiAgICAgIDwvYWZmaWxpYXRpb24+CiAgICA8L2NyZWF0b3I+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lPgogICAgICAgIEVza2VzLCBIZW5rCiAgICAgIDwvY3JlYXRvck5hbWU+CiAgICAgIDxuYW1lSWRlbnRpZmllciBuYW1lSWRlbnRpZmllclNjaGVtZT0iT1JDSUQiIHNjaGVtZVVSST0iaHR0cDovL29yY2lkLm9yZyI+CiAgICAgICAgMDAwMC0wMDAyLTg3NDMtNDQ1NQogICAgICA8L25hbWVJZGVudGlmaWVyPgogICAgICA8YWZmaWxpYXRpb24+CiAgICAgICAgUm95YWwgTmV0aGVybGFuZHMgTWV0ZW9yb2xvZ2ljYWwgSW5zdGl0dXRlIChLTk1JKQogICAgICA8L2FmZmlsaWF0aW9uPgogICAgPC9jcmVhdG9yPgogIDwvY3JlYXRvcnM+CiAgCiAgPHRpdGxlcz4KICAgIDx0aXRsZT4KICAgICAgTXVsdGktU2Vuc29yIFJlYW5hbHlzaXMgKE1TUikgb2YgdG90YWwgb3pvbmUsIHZlcnNpb24gMgogICAgPC90aXRsZT4KICA8L3RpdGxlcz4KICAKICA8cHVibGlzaGVyPgogICAgUm95YWwgTmV0aGVybGFuZHMgTWV0ZW9yb2xvZ2ljYWwgSW5zdGl0dXRlIChLTk1JKQogIDwvcHVibGlzaGVyPgogIAogIDxwdWJsaWNhdGlvblllYXI+CiAgICAyMDE1CiAgPC9wdWJsaWNhdGlvblllYXI+CiAgCiAgPHJlc291cmNlVHlwZSByZXNvdXJjZVR5cGVHZW5lcmFsPSJEYXRhc2V0Ij4KICAgIFNhdGVsbGl0ZSBkYXRhCiAgPC9yZXNvdXJjZVR5cGU+CgogIDxzdWJqZWN0cz4KICAgIDxzdWJqZWN0PgogICAgICBhc3NpbWlsYXRlZCBnbG9iYWwgb3pvbmUgcmVjb3JkCiAgICA8L3N1YmplY3Q+CiAgICA8c3ViamVjdD4KICAgICAgTXVsdGktU2Vuc29yIFJlYW5hbHlzaXMKICAgIDwvc3ViamVjdD4KICAgIDxzdWJqZWN0PgogICAgICBURU1JUwogICAgPC9zdWJqZWN0PgogIDwvc3ViamVjdHM+CiAgCiAgPGRhdGVzPgogICAgPGRhdGUgZGF0ZVR5cGU9IkF2YWlsYWJsZSI+CiAgICAgIDIwMTQtMDQtMjUKICAgIDwvZGF0ZT4KICAgIDxkYXRlIGRhdGVUeXBlPSJDb2xsZWN0ZWQiPgogICAgICAxOTcwLTA0LTAxIC8gKDp0YmEpCiAgICA8L2RhdGU+CiAgPC9kYXRlcz4KICAKICA8bGFuZ3VhZ2U+CiAgICBlbgogIDwvbGFuZ3VhZ2U+CiAgCiAgPGZvcm1hdHM+CiAgICA8Zm9ybWF0PgogICAgICBhcHBsaWNhdGlvbi94LWhkZgogICAgPC9mb3JtYXQ+CiAgICA8Zm9ybWF0PgogICAgICBhcHBsaWNhdGlvbi94LW5ldGNkZgogICAgPC9mb3JtYXQ+CiAgPC9mb3JtYXRzPgogIAogIDx2ZXJzaW9uPgogICAgMgogIDwvdmVyc2lvbj4KICAKICA8cmVsYXRlZElkZW50aWZpZXJzPgogICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iRE9JIiByZWxhdGlvblR5cGU9IlJlZmVyZW5jZXMiPgogICAgICAxMC41MTk0L2FtdC04LTMwMjEtMjAxNQogICAgPC9yZWxhdGVkSWRlbnRpZmllcj4KICA8L3JlbGF0ZWRJZGVudGlmaWVycz4KICAKICA8ZGVzY3JpcHRpb25zPgogICAgPGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iQWJzdHJhY3QiPgogICAgIFRoZSBvem9uZSBtdWx0aS1zZW5zb3IgcmVhbmFseXNpcyAoTVNSKSBpcyBhIG11bHRpLWRlY2FkYWwgb3pvbmUgY29sdW1uCiAgICAgZGF0YSByZWNvcmQgY29uc3RydWN0ZWQgdXNpbmcgYWxsIGF2YWlsYWJsZSBvem9uZSBjb2x1bW4gc2F0ZWxsaXRlIGRhdGEKICAgICBzZXRzLCBzdXJmYWNlIEJyZXdlciBhbmQgRG9ic29uIG9ic2VydmF0aW9ucyBhbmQgYSBkYXRhIGFzc2ltaWxhdGlvbgogICAgIHRlY2huaXF1ZSB3aXRoIGRldGFpbGVkIGVycm9yIG1vZGVsbGluZy4gVGhlIHJlc3VsdCBpcyBhIGhpZ2gtcmVzb2x1dGlvbgogICAgIHRpbWUgc2VyaWVzIG9mIDYtaG91cmx5IGdsb2JhbCBvem9uZSBjb2x1bW4gZmllbGRzIGFuZCBmb3JlY2FzdCBlcnJvcgogICAgIGZpZWxkcyB0aGF0IG1heSBiZSB1c2VkIGZvciBvem9uZSB0cmVuZCBhbmFseXNlcyBhcyB3ZWxsIGFzIGRldGFpbGVkCiAgICAgY2FzZSBzdHVkaWVzLiAKICAgIDxici8+CiAgICAgVGhlIE1TUjIgKE1TUiB2ZXJzaW9uIDIpIGNvbnNpc3RzIG9mIGFuIG96b25lIHJlY29yZCBpbml0aWFsbHkgZm9yCiAgICAgdGhlIHllYXJzIDE5NzAtMjAxMi4gVGhpcyBwZXJpb2QgaXMgZXh0ZW5kZWQgaW4gMjAxNyB0byBhbHNvIGNvdmVyCiAgICAgdGhlIHllYXJzIDIwMTMtMjAxNSwgYW5kIGl0IHdpbGwgYmUgZXh0ZW5kZWQgZnVydGhlci4KICAgIDwvZGVzY3JpcHRpb24+CiAgPC9kZXNjcmlwdGlvbnM+CiAgCiAgPGdlb0xvY2F0aW9ucz4KICAgIDxnZW9Mb2NhdGlvbj4KICAgICAgPGdlb0xvY2F0aW9uQm94PgogICAgICAgIDx3ZXN0Qm91bmRMb25naXR1ZGU+LTE4MC4wPC93ZXN0Qm91bmRMb25naXR1ZGU+CiAgICAgICAgPGVhc3RCb3VuZExvbmdpdHVkZT4rMTgwLjA8L2Vhc3RCb3VuZExvbmdpdHVkZT4KICAgICAgICA8c291dGhCb3VuZExhdGl0dWRlPi05MC4wPC9zb3V0aEJvdW5kTGF0aXR1ZGU+CiAgICAgICAgPG5vcnRoQm91bmRMYXRpdHVkZT4rOTAuMDwvbm9ydGhCb3VuZExhdGl0dWRlPgogICAgICA8L2dlb0xvY2F0aW9uQm94PgogICAgPC9nZW9Mb2NhdGlvbj4KICA8L2dlb0xvY2F0aW9ucz4KICAKPC9yZXNvdXJjZT4K","allocator_symbol":"DELFT","minted":"2017-07-25T11:20:08Z","updated":"2017-07-26T06:51:06Z","doi":"10.21944/TEMIS-OZONE-MSR2"}]}}
103
+
104
+ '
105
+ http_version:
106
+ recorded_at: Wed, 23 Aug 2017 11:10:46 GMT
107
+ - request:
108
+ method: head
109
+ uri: https://doi.org/10.21944/temis-ozone-msr2
110
+ body:
111
+ encoding: US-ASCII
112
+ string: ''
113
+ headers:
114
+ User-Agent:
115
+ - Maremma - https://github.com/datacite/maremma
116
+ Accept:
117
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
118
+ response:
119
+ status:
120
+ code: 303
121
+ message: See Other
122
+ headers:
123
+ Server:
124
+ - Apache-Coyote/1.1
125
+ Vary:
126
+ - Accept
127
+ Location:
128
+ - http://www.temis.nl/protocols/O3global.html
129
+ Expires:
130
+ - Wed, 23 Aug 2017 11:17:32 GMT
131
+ Content-Type:
132
+ - text/html;charset=utf-8
133
+ Content-Length:
134
+ - '171'
135
+ Date:
136
+ - Wed, 23 Aug 2017 11:10:47 GMT
137
+ body:
138
+ encoding: UTF-8
139
+ string: ''
140
+ http_version:
141
+ recorded_at: Wed, 23 Aug 2017 11:10:48 GMT
142
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,79 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1101/097196&noredirect=true&pid=tech@datacite.org
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Server:
20
+ - Apache-Coyote/1.1
21
+ Crossref-Deployment-Name:
22
+ - qs3-1
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ Content-Language:
26
+ - en-US
27
+ Date:
28
+ - Wed, 23 Aug 2017 10:18:00 GMT
29
+ Connection:
30
+ - close
31
+ body:
32
+ encoding: ASCII-8BIT
33
+ string: !binary |-
34
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuMTEwMSIgdGltZXN0YW1wPSIyMDE2LTEyLTI5IDAxOjEwOjIwIj4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8cG9zdGVkX2NvbnRlbnQgdHlwZT0icHJlcHJpbnQiIGxhbmd1YWdlPSJlbiIgbWV0YWRhdGFfZGlzdHJpYnV0aW9uX29wdHM9ImFueSI+DQogICAgICAgIDxncm91cF90aXRsZT5TY2llbnRpZmljIENvbW11bmljYXRpb24gYW5kIEVkdWNhdGlvbjwvZ3JvdXBfdGl0bGU+DQogICAgICAgIDxjb250cmlidXRvcnM+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPk1hcnRpbjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPkZlbm5lcjwvc3VybmFtZT4NCiAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDU8L09SQ0lEPg0KICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgPGdpdmVuX25hbWU+TWVyY8OoPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Q3Jvc2FzPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTEzMDQtMTkzOTwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5KZWZmcmV5PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+R3JldGhlPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTUyMTItNzA1MjwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5EYXZpZDwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPktlbm5lZHk8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItOTM3Ny0wNzk3PC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPkhlbm5pbmc8L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5IZXJtamFrb2I8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODQ3OS0wMjYyPC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPlBoaWxpcHBlPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Um9jY2EtU2VycmE8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtOTg1My01NjY4PC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPlJvYmluPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+QmVyam9uPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTE3MzEtNTM0NjwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5TZWJhc3RpYW48L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5LYXJjaGVyPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTgyNDktNzM4ODwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NYXJ5YW5uPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+TWFydG9uZTwvc3VybmFtZT4NCiAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi04NDA2LTM4NzE8L09SQ0lEPg0KICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgPGdpdmVuX25hbWU+VGltb3RoeTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPkNsYXJrPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MDwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgPHRpdGxlPkEgRGF0YSBDaXRhdGlvbiBSb2FkbWFwIGZvciBTY2hvbGFybHkgRGF0YSBSZXBvc2l0b3JpZXM8L3RpdGxlPg0KICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgPHBvc3RlZF9kYXRlPg0KICAgICAgICAgIDxtb250aD4xMjwvbW9udGg+DQogICAgICAgICAgPGRheT4yODwvZGF5Pg0KICAgICAgICAgIDx5ZWFyPjIwMTY8L3llYXI+DQogICAgICAgIDwvcG9zdGVkX2RhdGU+DQogICAgICAgIDxhY2NlcHRhbmNlX2RhdGU+DQogICAgICAgICAgPG1vbnRoPjEyPC9tb250aD4NCiAgICAgICAgICA8ZGF5PjI4PC9kYXk+DQogICAgICAgICAgPHllYXI+MjAxNjwveWVhcj4NCiAgICAgICAgPC9hY2NlcHRhbmNlX2RhdGU+DQogICAgICAgIDxpbnN0aXR1dGlvbj4NCiAgICAgICAgICA8aW5zdGl0dXRpb25fbmFtZT5iaW9SeGl2PC9pbnN0aXR1dGlvbl9uYW1lPg0KICAgICAgICA8L2luc3RpdHV0aW9uPg0KICAgICAgICA8aXRlbV9udW1iZXIgaXRlbV9udW1iZXJfdHlwZT0icGlzYSI+YmlvcnhpdjswOTcxOTZ2MTwvaXRlbV9udW1iZXI+DQogICAgICAgIDxhYnN0cmFjdD4NCiAgICAgICAgICA8cD5UaGlzIGFydGljbGUgcHJlc2VudHMgYSBwcmFjdGljYWwgcm9hZG1hcCBmb3Igc2Nob2xhcmx5IGRhdGEgcmVwb3NpdG9yaWVzIHRvIGltcGxlbWVudCBkYXRhIGNpdGF0aW9uIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgSm9pbnQgRGVjbGFyYXRpb24gb2YgRGF0YSBDaXRhdGlvbiBQcmluY2lwbGVzIChEYXRhIENpdGF0aW9uIFN5bnRoZXNpcyBHcm91cCwgMjAxNCksIGEgc3lub3BzaXMgYW5kIGhhcm1vbml6YXRpb24gb2YgdGhlIHJlY29tbWVuZGF0aW9ucyBvZiBtYWpvciBzY2llbmNlIHBvbGljeSBib2RpZXMuIFRoZSByb2FkbWFwIHdhcyBkZXZlbG9wZWQgYnkgdGhlIFJlcG9zaXRvcmllcyBFYXJseSBBZG9wdGVycyBFeHBlcnQgR3JvdXAsICBwYXJ0IG9mIHRoZSBEYXRhIENpdGF0aW9uIEltcGxlbWVudGF0aW9uIFBpbG90IChEQ0lQKSBwcm9qZWN0IChGT1JDRTExLCAyMDE1KSwgYW4gaW5pdGlhdGl2ZSBvZiBGT1JDRTExLm9yZyBhbmQgdGhlIE5JSCBCaW9DQURESUUgKDIwMTYpIHByb2dyYW0uIFRoZSByb2FkbWFwIG1ha2VzIDExIHNwZWNpZmljIHJlY29tbWVuZGF0aW9ucywgZ3JvdXBlZCBpbnRvIHRocmVlIHBoYXNlcyBvZiBpbXBsZW1lbnRhdGlvbjogYSkgcmVxdWlyZWQgc3RlcHMgbmVlZGVkIHRvIHN1cHBvcnQgdGhlIEpvaW50IERlY2xhcmF0aW9uIG9mIERhdGEgQ2l0YXRpb24gUHJpbmNpcGxlcywgYikgcmVjb21tZW5kZWQgc3RlcHMgdGhhdCBmYWNpbGl0YXRlIGFydGljbGUvZGF0YSBwdWJsaWNhdGlvbiB3b3JrZmxvd3MsIGFuZCBjKSBvcHRpb25hbCBzdGVwcyB0aGF0IGZ1cnRoZXIgaW1wcm92ZSBkYXRhIGNpdGF0aW9uIHN1cHBvcnQgcHJvdmlkZWQgYnkgZGF0YSByZXBvc2l0b3JpZXMuPC9wPg0KICAgICAgICA8L2Fic3RyYWN0Pg0KICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgPGRvaT4xMC4xMTAxLzA5NzE5NjwvZG9pPg0KICAgICAgICAgIDx0aW1lc3RhbXA+MjAxNjEyMjgyMjEwMDY0OTAwMDwvdGltZXN0YW1wPg0KICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vYmlvcnhpdi5vcmcvbG9va3VwL2RvaS8xMC4xMTAxLzA5NzE5NjwvcmVzb3VyY2U+DQogICAgICAgICAgPGNvbGxlY3Rpb24gcHJvcGVydHk9ImNyYXdsZXItYmFzZWQiPg0KICAgICAgICAgICAgPGl0ZW0gY3Jhd2xlcj0iaVBhcmFkaWdtcyI+DQogICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL3N5bmRpY2F0aW9uLmhpZ2h3aXJlLm9yZy9jb250ZW50L2RvaS8xMC4xMTAxLzA5NzE5NjwvcmVzb3VyY2U+DQogICAgICAgICAgICA8L2l0ZW0+DQogICAgICAgICAgPC9jb2xsZWN0aW9uPg0KICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgPC9wb3N0ZWRfY29udGVudD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2RvaV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
35
+ http_version:
36
+ recorded_at: Wed, 23 Aug 2017 10:18:01 GMT
37
+ - request:
38
+ method: get
39
+ uri: http://api.crossref.org/prefixes/10.1101
40
+ body:
41
+ encoding: US-ASCII
42
+ string: ''
43
+ headers:
44
+ User-Agent:
45
+ - Maremma - https://github.com/datacite/maremma
46
+ Accept:
47
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
48
+ response:
49
+ status:
50
+ code: 200
51
+ message: OK
52
+ headers:
53
+ Content-Type:
54
+ - application/json;charset=UTF-8
55
+ Vary:
56
+ - Accept
57
+ Access-Control-Allow-Origin:
58
+ - "*"
59
+ Access-Control-Allow-Headers:
60
+ - X-Requested-With
61
+ Content-Length:
62
+ - '218'
63
+ Server:
64
+ - http-kit
65
+ Date:
66
+ - Wed, 23 Aug 2017 10:18:01 GMT
67
+ X-Rate-Limit-Limit:
68
+ - '50'
69
+ X-Rate-Limit-Interval:
70
+ - 1s
71
+ Connection:
72
+ - close
73
+ body:
74
+ encoding: UTF-8
75
+ string: '{"status":"ok","message-type":"prefix","message-version":"1.0.0","message":{"member":"http:\/\/id.crossref.org\/member\/246","name":"Cold
76
+ Spring Harbor Laboratory","prefix":"http:\/\/id.crossref.org\/prefix\/10.1101"}}'
77
+ http_version:
78
+ recorded_at: Wed, 23 Aug 2017 10:18:01 GMT
79
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,79 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1101/097196&noredirect=true&pid=tech@datacite.org
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Server:
20
+ - Apache-Coyote/1.1
21
+ Crossref-Deployment-Name:
22
+ - cr6-1
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ Content-Language:
26
+ - en-US
27
+ Date:
28
+ - Wed, 23 Aug 2017 10:18:01 GMT
29
+ Connection:
30
+ - close
31
+ body:
32
+ encoding: ASCII-8BIT
33
+ string: !binary |-
34
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuMTEwMSIgdGltZXN0YW1wPSIyMDE2LTEyLTI5IDAxOjEwOjIwIj4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8cG9zdGVkX2NvbnRlbnQgdHlwZT0icHJlcHJpbnQiIGxhbmd1YWdlPSJlbiIgbWV0YWRhdGFfZGlzdHJpYnV0aW9uX29wdHM9ImFueSI+DQogICAgICAgIDxncm91cF90aXRsZT5TY2llbnRpZmljIENvbW11bmljYXRpb24gYW5kIEVkdWNhdGlvbjwvZ3JvdXBfdGl0bGU+DQogICAgICAgIDxjb250cmlidXRvcnM+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPk1hcnRpbjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPkZlbm5lcjwvc3VybmFtZT4NCiAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDU8L09SQ0lEPg0KICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgPGdpdmVuX25hbWU+TWVyY8OoPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Q3Jvc2FzPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTEzMDQtMTkzOTwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5KZWZmcmV5PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+R3JldGhlPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTUyMTItNzA1MjwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5EYXZpZDwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPktlbm5lZHk8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItOTM3Ny0wNzk3PC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPkhlbm5pbmc8L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5IZXJtamFrb2I8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODQ3OS0wMjYyPC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPlBoaWxpcHBlPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Um9jY2EtU2VycmE8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtOTg1My01NjY4PC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPlJvYmluPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+QmVyam9uPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTE3MzEtNTM0NjwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5TZWJhc3RpYW48L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5LYXJjaGVyPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTgyNDktNzM4ODwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NYXJ5YW5uPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+TWFydG9uZTwvc3VybmFtZT4NCiAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi04NDA2LTM4NzE8L09SQ0lEPg0KICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgPGdpdmVuX25hbWU+VGltb3RoeTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPkNsYXJrPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MDwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgPHRpdGxlPkEgRGF0YSBDaXRhdGlvbiBSb2FkbWFwIGZvciBTY2hvbGFybHkgRGF0YSBSZXBvc2l0b3JpZXM8L3RpdGxlPg0KICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgPHBvc3RlZF9kYXRlPg0KICAgICAgICAgIDxtb250aD4xMjwvbW9udGg+DQogICAgICAgICAgPGRheT4yODwvZGF5Pg0KICAgICAgICAgIDx5ZWFyPjIwMTY8L3llYXI+DQogICAgICAgIDwvcG9zdGVkX2RhdGU+DQogICAgICAgIDxhY2NlcHRhbmNlX2RhdGU+DQogICAgICAgICAgPG1vbnRoPjEyPC9tb250aD4NCiAgICAgICAgICA8ZGF5PjI4PC9kYXk+DQogICAgICAgICAgPHllYXI+MjAxNjwveWVhcj4NCiAgICAgICAgPC9hY2NlcHRhbmNlX2RhdGU+DQogICAgICAgIDxpbnN0aXR1dGlvbj4NCiAgICAgICAgICA8aW5zdGl0dXRpb25fbmFtZT5iaW9SeGl2PC9pbnN0aXR1dGlvbl9uYW1lPg0KICAgICAgICA8L2luc3RpdHV0aW9uPg0KICAgICAgICA8aXRlbV9udW1iZXIgaXRlbV9udW1iZXJfdHlwZT0icGlzYSI+YmlvcnhpdjswOTcxOTZ2MTwvaXRlbV9udW1iZXI+DQogICAgICAgIDxhYnN0cmFjdD4NCiAgICAgICAgICA8cD5UaGlzIGFydGljbGUgcHJlc2VudHMgYSBwcmFjdGljYWwgcm9hZG1hcCBmb3Igc2Nob2xhcmx5IGRhdGEgcmVwb3NpdG9yaWVzIHRvIGltcGxlbWVudCBkYXRhIGNpdGF0aW9uIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgSm9pbnQgRGVjbGFyYXRpb24gb2YgRGF0YSBDaXRhdGlvbiBQcmluY2lwbGVzIChEYXRhIENpdGF0aW9uIFN5bnRoZXNpcyBHcm91cCwgMjAxNCksIGEgc3lub3BzaXMgYW5kIGhhcm1vbml6YXRpb24gb2YgdGhlIHJlY29tbWVuZGF0aW9ucyBvZiBtYWpvciBzY2llbmNlIHBvbGljeSBib2RpZXMuIFRoZSByb2FkbWFwIHdhcyBkZXZlbG9wZWQgYnkgdGhlIFJlcG9zaXRvcmllcyBFYXJseSBBZG9wdGVycyBFeHBlcnQgR3JvdXAsICBwYXJ0IG9mIHRoZSBEYXRhIENpdGF0aW9uIEltcGxlbWVudGF0aW9uIFBpbG90IChEQ0lQKSBwcm9qZWN0IChGT1JDRTExLCAyMDE1KSwgYW4gaW5pdGlhdGl2ZSBvZiBGT1JDRTExLm9yZyBhbmQgdGhlIE5JSCBCaW9DQURESUUgKDIwMTYpIHByb2dyYW0uIFRoZSByb2FkbWFwIG1ha2VzIDExIHNwZWNpZmljIHJlY29tbWVuZGF0aW9ucywgZ3JvdXBlZCBpbnRvIHRocmVlIHBoYXNlcyBvZiBpbXBsZW1lbnRhdGlvbjogYSkgcmVxdWlyZWQgc3RlcHMgbmVlZGVkIHRvIHN1cHBvcnQgdGhlIEpvaW50IERlY2xhcmF0aW9uIG9mIERhdGEgQ2l0YXRpb24gUHJpbmNpcGxlcywgYikgcmVjb21tZW5kZWQgc3RlcHMgdGhhdCBmYWNpbGl0YXRlIGFydGljbGUvZGF0YSBwdWJsaWNhdGlvbiB3b3JrZmxvd3MsIGFuZCBjKSBvcHRpb25hbCBzdGVwcyB0aGF0IGZ1cnRoZXIgaW1wcm92ZSBkYXRhIGNpdGF0aW9uIHN1cHBvcnQgcHJvdmlkZWQgYnkgZGF0YSByZXBvc2l0b3JpZXMuPC9wPg0KICAgICAgICA8L2Fic3RyYWN0Pg0KICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgPGRvaT4xMC4xMTAxLzA5NzE5NjwvZG9pPg0KICAgICAgICAgIDx0aW1lc3RhbXA+MjAxNjEyMjgyMjEwMDY0OTAwMDwvdGltZXN0YW1wPg0KICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vYmlvcnhpdi5vcmcvbG9va3VwL2RvaS8xMC4xMTAxLzA5NzE5NjwvcmVzb3VyY2U+DQogICAgICAgICAgPGNvbGxlY3Rpb24gcHJvcGVydHk9ImNyYXdsZXItYmFzZWQiPg0KICAgICAgICAgICAgPGl0ZW0gY3Jhd2xlcj0iaVBhcmFkaWdtcyI+DQogICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL3N5bmRpY2F0aW9uLmhpZ2h3aXJlLm9yZy9jb250ZW50L2RvaS8xMC4xMTAxLzA5NzE5NjwvcmVzb3VyY2U+DQogICAgICAgICAgICA8L2l0ZW0+DQogICAgICAgICAgPC9jb2xsZWN0aW9uPg0KICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgPC9wb3N0ZWRfY29udGVudD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2RvaV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
35
+ http_version:
36
+ recorded_at: Wed, 23 Aug 2017 10:18:02 GMT
37
+ - request:
38
+ method: get
39
+ uri: http://api.crossref.org/prefixes/10.1101
40
+ body:
41
+ encoding: US-ASCII
42
+ string: ''
43
+ headers:
44
+ User-Agent:
45
+ - Maremma - https://github.com/datacite/maremma
46
+ Accept:
47
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
48
+ response:
49
+ status:
50
+ code: 200
51
+ message: OK
52
+ headers:
53
+ Content-Type:
54
+ - application/json;charset=UTF-8
55
+ Vary:
56
+ - Accept
57
+ Access-Control-Allow-Origin:
58
+ - "*"
59
+ Access-Control-Allow-Headers:
60
+ - X-Requested-With
61
+ Content-Length:
62
+ - '218'
63
+ Server:
64
+ - http-kit
65
+ Date:
66
+ - Wed, 23 Aug 2017 10:18:02 GMT
67
+ X-Rate-Limit-Limit:
68
+ - '50'
69
+ X-Rate-Limit-Interval:
70
+ - 1s
71
+ Connection:
72
+ - close
73
+ body:
74
+ encoding: UTF-8
75
+ string: '{"status":"ok","message-type":"prefix","message-version":"1.0.0","message":{"member":"http:\/\/id.crossref.org\/member\/246","name":"Cold
76
+ Spring Harbor Laboratory","prefix":"http:\/\/id.crossref.org\/prefix\/10.1101"}}'
77
+ http_version:
78
+ recorded_at: Wed, 23 Aug 2017 10:18:02 GMT
79
+ recorded_with: VCR 3.0.3
@@ -258,6 +258,36 @@ describe Bolognese::Metadata, vcr: true do
258
258
  expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-3")
259
259
  end
260
260
 
261
+ it "leading and trailing whitespace" do
262
+ input = "https://doi.org/10.21944/temis-OZONE-MSR2"
263
+ subject = Bolognese::Metadata.new(input: input)
264
+ expect(subject.valid?).to be true
265
+ expect(subject.id).to eq("https://doi.org/10.21944/temis-ozone-msr2")
266
+ expect(subject.type).to eq("Dataset")
267
+ expect(subject.additional_type).to eq("Satellite data")
268
+ expect(subject.resource_type_general).to eq("Dataset")
269
+ expect(subject.author).to eq([{"type"=>"Person",
270
+ "id"=>"https://orcid.org/0000-0002-0077-5338",
271
+ "name"=>"Ronald Van Der A",
272
+ "givenName"=>"Ronald",
273
+ "familyName"=>"Van Der A"},
274
+ {"type"=>"Person",
275
+ "name"=>"Marc Allaart",
276
+ "givenName"=>"Marc",
277
+ "familyName"=>"Allaart"},
278
+ {"type"=>"Person",
279
+ "id"=>"https://orcid.org/0000-0002-8743-4455",
280
+ "name"=>"Henk Eskes",
281
+ "givenName"=>"Henk",
282
+ "familyName"=>"Eskes"}])
283
+ expect(subject.title).to eq("Multi-Sensor Reanalysis (MSR) of total ozone, version 2")
284
+ expect(subject.version).to eq("2")
285
+ expect(subject.date_published).to eq("2015")
286
+ expect(subject.publisher).to eq("Royal Netherlands Meteorological Institute (KNMI)")
287
+ expect(subject.provider).to eq("DataCite")
288
+ expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-4")
289
+ end
290
+
261
291
  it "DOI not found" do
262
292
  input = "https://doi.org/10.4124/05F6C379-DD68-4CDB-880D-33D3E9576D52/1"
263
293
  subject = Bolognese::Metadata.new(input: input)
@@ -265,6 +295,22 @@ describe Bolognese::Metadata, vcr: true do
265
295
  end
266
296
 
267
297
  it "DOI in test system" do
298
+ input = "https://handle.test.datacite.org/10.20375/0000-0001-ddb8-7"
299
+ subject = Bolognese::Metadata.new(input: input, sandbox: true)
300
+ expect(subject.valid?).to be true
301
+ expect(subject.id).to eq("https://handle.test.datacite.org/10.20375/0000-0001-ddb8-7")
302
+ expect(subject.type).to eq("Dataset")
303
+ expect(subject.additional_type).to eq("Dataset")
304
+ expect(subject.resource_type_general).to eq("Dataset")
305
+ expect(subject.author).to eq("type"=>"Person", "name"=>"Fu ", "givenName"=>"Fu")
306
+ expect(subject.title).to eq("IMG_0134.jpg")
307
+ expect(subject.date_published).to eq("2017")
308
+ expect(subject.publisher).to eq("DARIAH-DE")
309
+ expect(subject.provider).to eq("DataCite")
310
+ expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-4")
311
+ end
312
+
313
+ it "BlogPosting in test system" do
268
314
  input = "https://handle.test.datacite.org/10.5438/mcnv-ga6n"
269
315
  subject = Bolognese::Metadata.new(input: input, sandbox: true)
270
316
  expect(subject.valid?).to be true
@@ -175,6 +175,18 @@ describe Bolognese::Metadata, vcr: true do
175
175
  response = subject.normalize_id(url)
176
176
  expect(response).to be_nil
177
177
  end
178
+
179
+ it "sandbox via url" do
180
+ url = "https://handle.test.datacite.org/10.20375/0000-0001-ddb8-7"
181
+ response = subject.normalize_id(url)
182
+ expect(response).to eq("https://handle.test.datacite.org/10.20375/0000-0001-ddb8-7")
183
+ end
184
+
185
+ it "sandbox via options" do
186
+ url = "10.20375/0000-0001-ddb8-7"
187
+ response = subject.normalize_id(url, sandbox: true)
188
+ expect(response).to eq("https://handle.test.datacite.org/10.20375/0000-0001-ddb8-7")
189
+ end
178
190
  end
179
191
 
180
192
  context "normalize ids" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bolognese
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.44
4
+ version: 0.9.45
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
@@ -627,6 +627,7 @@ files:
627
627
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml
628
628
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_raw/journal_article.yml
629
629
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml
630
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting_in_test_system.yml
630
631
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system.yml
631
632
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_not_found.yml
632
633
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Dataset.yml
@@ -640,6 +641,7 @@ files:
640
641
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml
641
642
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml
642
643
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/keywords_with_attributes.yml
644
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/leading_and_trailing_whitespace.yml
643
645
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorName.yml
644
646
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml
645
647
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml
@@ -711,6 +713,8 @@ files:
711
713
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi_as_url.yml
712
714
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/ftp.yml
713
715
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/invalid_url.yml
716
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_options.yml
717
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_url.yml
714
718
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/string.yml
715
719
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url.yml
716
720
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url_with_utf-8.yml