rest-client 2.0.2 → 2.1.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 (43) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +1 -0
  3. data/.mailmap +10 -0
  4. data/.rubocop +2 -0
  5. data/.rubocop-disables.yml +46 -44
  6. data/.rubocop.yml +5 -0
  7. data/.travis.yml +31 -17
  8. data/AUTHORS +8 -0
  9. data/README.md +126 -9
  10. data/Rakefile +12 -4
  11. data/history.md +53 -0
  12. data/lib/restclient.rb +0 -1
  13. data/lib/restclient/abstract_response.rb +28 -2
  14. data/lib/restclient/exceptions.rb +3 -3
  15. data/lib/restclient/payload.rb +29 -4
  16. data/lib/restclient/raw_response.rb +17 -6
  17. data/lib/restclient/request.rb +94 -67
  18. data/lib/restclient/resource.rb +16 -6
  19. data/lib/restclient/response.rb +14 -4
  20. data/lib/restclient/utils.rb +47 -8
  21. data/lib/restclient/version.rb +2 -2
  22. data/rest-client.gemspec +3 -2
  23. data/spec/ISS.jpg +0 -0
  24. data/spec/helpers.rb +37 -5
  25. data/spec/integration/capath_digicert/3513523f.0 +22 -0
  26. data/spec/integration/capath_digicert/399e7759.0 +22 -0
  27. data/spec/integration/capath_digicert/digicert.crt +20 -17
  28. data/spec/integration/certs/digicert.crt +20 -17
  29. data/spec/integration/httpbin_spec.rb +41 -0
  30. data/spec/integration/integration_spec.rb +0 -7
  31. data/spec/unit/abstract_response_spec.rb +7 -7
  32. data/spec/unit/payload_spec.rb +51 -19
  33. data/spec/unit/raw_response_spec.rb +6 -2
  34. data/spec/unit/request2_spec.rb +8 -8
  35. data/spec/unit/request_spec.rb +53 -65
  36. data/spec/unit/resource_spec.rb +7 -7
  37. data/spec/unit/response_spec.rb +33 -22
  38. data/spec/unit/restclient_spec.rb +3 -2
  39. data/spec/unit/utils_spec.rb +10 -10
  40. metadata +34 -13
  41. data/spec/integration/capath_digicert/244b5494.0 +0 -19
  42. data/spec/integration/capath_digicert/81b9768f.0 +0 -19
  43. data/spec/unit/master_shake.jpg +0 -0
@@ -7,37 +7,37 @@ describe RestClient::Resource do
7
7
 
8
8
  context "Resource delegation" do
9
9
  it "GET" do
10
- expect(RestClient::Request).to receive(:execute).with(:method => :get, :url => 'http://some/resource', :headers => {'X-Something' => '1'}, :user => 'jane', :password => 'mypass')
10
+ expect(RestClient::Request).to receive(:execute).with(:method => :get, :url => 'http://some/resource', :headers => {'X-Something' => '1'}, :user => 'jane', :password => 'mypass', :log => nil)
11
11
  @resource.get
12
12
  end
13
13
 
14
14
  it "HEAD" do
15
- expect(RestClient::Request).to receive(:execute).with(:method => :head, :url => 'http://some/resource', :headers => {'X-Something' => '1'}, :user => 'jane', :password => 'mypass')
15
+ expect(RestClient::Request).to receive(:execute).with(:method => :head, :url => 'http://some/resource', :headers => {'X-Something' => '1'}, :user => 'jane', :password => 'mypass', :log => nil)
16
16
  @resource.head
17
17
  end
18
18
 
19
19
  it "POST" do
20
- expect(RestClient::Request).to receive(:execute).with(:method => :post, :url => 'http://some/resource', :payload => 'abc', :headers => {:content_type => 'image/jpg', 'X-Something' => '1'}, :user => 'jane', :password => 'mypass')
20
+ expect(RestClient::Request).to receive(:execute).with(:method => :post, :url => 'http://some/resource', :payload => 'abc', :headers => {:content_type => 'image/jpg', 'X-Something' => '1'}, :user => 'jane', :password => 'mypass', :log => nil)
21
21
  @resource.post 'abc', :content_type => 'image/jpg'
22
22
  end
23
23
 
24
24
  it "PUT" do
25
- expect(RestClient::Request).to receive(:execute).with(:method => :put, :url => 'http://some/resource', :payload => 'abc', :headers => {:content_type => 'image/jpg', 'X-Something' => '1'}, :user => 'jane', :password => 'mypass')
25
+ expect(RestClient::Request).to receive(:execute).with(:method => :put, :url => 'http://some/resource', :payload => 'abc', :headers => {:content_type => 'image/jpg', 'X-Something' => '1'}, :user => 'jane', :password => 'mypass', :log => nil)
26
26
  @resource.put 'abc', :content_type => 'image/jpg'
27
27
  end
28
28
 
29
29
  it "PATCH" do
30
- expect(RestClient::Request).to receive(:execute).with(:method => :patch, :url => 'http://some/resource', :payload => 'abc', :headers => {:content_type => 'image/jpg', 'X-Something' => '1'}, :user => 'jane', :password => 'mypass')
30
+ expect(RestClient::Request).to receive(:execute).with(:method => :patch, :url => 'http://some/resource', :payload => 'abc', :headers => {:content_type => 'image/jpg', 'X-Something' => '1'}, :user => 'jane', :password => 'mypass', :log => nil)
31
31
  @resource.patch 'abc', :content_type => 'image/jpg'
32
32
  end
33
33
 
34
34
  it "DELETE" do
35
- expect(RestClient::Request).to receive(:execute).with(:method => :delete, :url => 'http://some/resource', :headers => {'X-Something' => '1'}, :user => 'jane', :password => 'mypass')
35
+ expect(RestClient::Request).to receive(:execute).with(:method => :delete, :url => 'http://some/resource', :headers => {'X-Something' => '1'}, :user => 'jane', :password => 'mypass', :log => nil)
36
36
  @resource.delete
37
37
  end
38
38
 
39
39
  it "overrides resource headers" do
40
- expect(RestClient::Request).to receive(:execute).with(:method => :get, :url => 'http://some/resource', :headers => {'X-Something' => '2'}, :user => 'jane', :password => 'mypass')
40
+ expect(RestClient::Request).to receive(:execute).with(:method => :get, :url => 'http://some/resource', :headers => {'X-Something' => '2'}, :user => 'jane', :password => 'mypass', :log => nil)
41
41
  @resource.get 'X-Something' => '2'
42
42
  end
43
43
  end
@@ -2,10 +2,10 @@ require_relative '_lib'
2
2
 
3
3
  describe RestClient::Response, :include_helpers do
4
4
  before do
5
- @net_http_res = double('net http response', :to_hash => {"Status" => ["200 OK"]}, :code => 200)
5
+ @net_http_res = res_double(to_hash: {'Status' => ['200 OK']}, code: '200', body: 'abc')
6
6
  @example_url = 'http://example.com'
7
7
  @request = request_double(url: @example_url, method: 'get')
8
- @response = RestClient::Response.create('abc', @net_http_res, @request)
8
+ @response = response_from_res_double(@net_http_res, @request, duration: 1)
9
9
  end
10
10
 
11
11
  it "behaves like string" do
@@ -17,6 +17,7 @@ describe RestClient::Response, :include_helpers do
17
17
  end
18
18
 
19
19
  it "accepts nil strings and sets it to empty for the case of HEAD" do
20
+ # TODO
20
21
  expect(RestClient::Response.create(nil, @net_http_res, @request).to_s).to eq ""
21
22
  end
22
23
 
@@ -27,13 +28,13 @@ describe RestClient::Response, :include_helpers do
27
28
  end
28
29
 
29
30
  it 'handles multiple headers by joining with comma' do
30
- @net_http_res = double('net http response', :to_hash => {'My-Header' => ['foo', 'bar']}, :code => 200)
31
- @example_url = 'http://example.com'
32
- @request = request_double(url: @example_url, method: 'get')
33
- @response = RestClient::Response.create('abc', @net_http_res, @request)
31
+ net_http_res = res_double(to_hash: {'My-Header' => ['foo', 'bar']}, code: '200', body: nil)
32
+ example_url = 'http://example.com'
33
+ request = request_double(url: example_url, method: 'get')
34
+ response = response_from_res_double(net_http_res, request)
34
35
 
35
- expect(@response.raw_headers['My-Header']).to eq ['foo', 'bar']
36
- expect(@response.headers[:my_header]).to eq 'foo, bar'
36
+ expect(response.raw_headers['My-Header']).to eq ['foo', 'bar']
37
+ expect(response.headers[:my_header]).to eq 'foo, bar'
37
38
  end
38
39
  end
39
40
 
@@ -72,7 +73,7 @@ describe RestClient::Response, :include_helpers do
72
73
  describe "exceptions processing" do
73
74
  it "should return itself for normal codes" do
74
75
  (200..206).each do |code|
75
- net_http_res = response_double(:code => '200')
76
+ net_http_res = res_double(:code => '200')
76
77
  resp = RestClient::Response.create('abc', net_http_res, @request)
77
78
  resp.return!
78
79
  end
@@ -81,7 +82,7 @@ describe RestClient::Response, :include_helpers do
81
82
  it "should throw an exception for other codes" do
82
83
  RestClient::Exceptions::EXCEPTIONS_MAP.each_pair do |code, exc|
83
84
  unless (200..207).include? code
84
- net_http_res = response_double(:code => code.to_i)
85
+ net_http_res = res_double(:code => code.to_i)
85
86
  resp = RestClient::Response.create('abc', net_http_res, @request)
86
87
  allow(@request).to receive(:max_redirects).and_return(5)
87
88
  expect { resp.return! }.to raise_error(exc)
@@ -131,28 +132,27 @@ describe RestClient::Response, :include_helpers do
131
132
  end
132
133
 
133
134
  it "doesn't follow a 301 when the request is a post" do
134
- net_http_res = response_double(:code => 301)
135
+ net_http_res = res_double(:code => 301)
136
+ response = response_from_res_double(net_http_res, request_double(method: 'post'))
135
137
 
136
- response = RestClient::Response.create('abc', net_http_res,
137
- request_double(method: 'post'))
138
138
  expect {
139
139
  response.return!
140
140
  }.to raise_error(RestClient::MovedPermanently)
141
141
  end
142
142
 
143
143
  it "doesn't follow a 302 when the request is a post" do
144
- net_http_res = response_double(:code => 302)
145
- response = RestClient::Response.create('abc', net_http_res,
146
- request_double(method: 'post'))
144
+ net_http_res = res_double(:code => 302)
145
+ response = response_from_res_double(net_http_res, request_double(method: 'post'))
146
+
147
147
  expect {
148
148
  response.return!
149
149
  }.to raise_error(RestClient::Found)
150
150
  end
151
151
 
152
152
  it "doesn't follow a 307 when the request is a post" do
153
- net_http_res = response_double(:code => 307)
154
- response = RestClient::Response.create('abc', net_http_res,
155
- request_double(method: 'post'))
153
+ net_http_res = res_double(:code => 307)
154
+ response = response_from_res_double(net_http_res, request_double(method: 'post'))
155
+
156
156
  expect(response).not_to receive(:follow_redirection)
157
157
  expect {
158
158
  response.return!
@@ -160,9 +160,8 @@ describe RestClient::Response, :include_helpers do
160
160
  end
161
161
 
162
162
  it "doesn't follow a redirection when the request is a put" do
163
- net_http_res = response_double(:code => 301)
164
- response = RestClient::Response.create('abc', net_http_res,
165
- request_double(method: 'put'))
163
+ net_http_res = res_double(:code => 301)
164
+ response = response_from_res_double(net_http_res, request_double(method: 'put'))
166
165
  expect {
167
166
  response.return!
168
167
  }.to raise_error(RestClient::MovedPermanently)
@@ -238,4 +237,16 @@ describe RestClient::Response, :include_helpers do
238
237
  end
239
238
  end
240
239
 
240
+ describe "logging" do
241
+ it "uses the request's logger" do
242
+ stub_request(:get, 'http://some/resource').to_return(body: 'potato', status: 200)
243
+
244
+ logger = double('logger', '<<' => true)
245
+ request = RestClient::Request.new(url: 'http://some/resource', method: :get, log: logger)
246
+
247
+ expect(logger).to receive(:<<)
248
+
249
+ request.execute
250
+ end
251
+ end
241
252
  end
@@ -71,9 +71,10 @@ describe RestClient do
71
71
  end
72
72
 
73
73
  describe 'version' do
74
- it 'has a version ~> 2.0.0.alpha' do
74
+ # test that there is a sane version number to avoid accidental 0.0.0 again
75
+ it 'has a version > 2.0.0.alpha, < 3.0' do
75
76
  ver = Gem::Version.new(RestClient.version)
76
- expect(Gem::Requirement.new('~> 2.0.0.alpha')).to be_satisfied_by(ver)
77
+ expect(Gem::Requirement.new('> 2.0.0.alpha', '< 3.0')).to be_satisfied_by(ver)
77
78
  end
78
79
  end
79
80
  end
@@ -34,11 +34,11 @@ describe RestClient::Utils do
34
34
  end
35
35
 
36
36
  describe '.cgi_parse_header' do
37
- it 'parses headers' do
37
+ it 'parses headers', :unless => RUBY_VERSION.start_with?('2.0') do
38
38
  expect(RestClient::Utils.cgi_parse_header('text/plain')).
39
39
  to eq ['text/plain', {}]
40
40
 
41
- expect(RestClient::Utils.cgi_parse_header('text/vnd.just.made.this.up ; ')).
41
+ expect(RestClient::Utils.cgi_parse_header('text/vnd.just.made.this.up')).
42
42
  to eq ['text/vnd.just.made.this.up', {}]
43
43
 
44
44
  expect(RestClient::Utils.cgi_parse_header('text/plain;charset=us-ascii')).
@@ -52,20 +52,20 @@ describe RestClient::Utils do
52
52
  to eq ['text/plain', {'charset' => 'us-ascii', 'another' => 'opt'}]
53
53
 
54
54
  expect(RestClient::Utils.cgi_parse_header(
55
- 'attachment; filename="silly.txt"')).
56
- to eq ['attachment', {'filename' => 'silly.txt'}]
55
+ 'foo/bar; filename="silly.txt"')).
56
+ to eq ['foo/bar', {'filename' => 'silly.txt'}]
57
57
 
58
58
  expect(RestClient::Utils.cgi_parse_header(
59
- 'attachment; filename="strange;name"')).
60
- to eq ['attachment', {'filename' => 'strange;name'}]
59
+ 'foo/bar; filename="strange;name"')).
60
+ to eq ['foo/bar', {'filename' => 'strange;name'}]
61
61
 
62
62
  expect(RestClient::Utils.cgi_parse_header(
63
- 'attachment; filename="strange;name";size=123;')).to eq \
64
- ['attachment', {'filename' => 'strange;name', 'size' => '123'}]
63
+ 'foo/bar; filename="strange;name";size=123')).to eq \
64
+ ['foo/bar', {'filename' => 'strange;name', 'size' => '123'}]
65
65
 
66
66
  expect(RestClient::Utils.cgi_parse_header(
67
- 'form-data; name="files"; filename="fo\\"o;bar"')).to eq \
68
- ['form-data', {'name' => 'files', 'filename' => 'fo"o;bar'}]
67
+ 'foo/bar; name="files"; filename="fo\\"o;bar"')).to eq \
68
+ ['foo/bar', {'name' => 'files', 'filename' => 'fo"o;bar'}]
69
69
  end
70
70
  end
71
71
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rest-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - REST Client Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-23 00:00:00.000000000 Z
11
+ date: 2019-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: webmock
@@ -92,14 +92,34 @@ dependencies:
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '0'
95
+ version: '0.49'
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '0'
102
+ version: '0.49'
103
+ - !ruby/object:Gem::Dependency
104
+ name: http-accept
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: 1.7.0
110
+ - - "<"
111
+ - !ruby/object:Gem::Version
112
+ version: '2.0'
113
+ type: :runtime
114
+ prerelease: false
115
+ version_requirements: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: 1.7.0
120
+ - - "<"
121
+ - !ruby/object:Gem::Version
122
+ version: '2.0'
103
123
  - !ruby/object:Gem::Dependency
104
124
  name: http-cookie
105
125
  requirement: !ruby/object:Gem::Requirement
@@ -156,7 +176,7 @@ dependencies:
156
176
  version: '0.8'
157
177
  description: 'A simple HTTP and REST client for Ruby, inspired by the Sinatra microframework
158
178
  style of specifying actions: get, put, post, delete.'
159
- email: rest.client@librelist.com
179
+ email: discuss@rest-client.groups.io
160
180
  executables:
161
181
  - restclient
162
182
  extensions: []
@@ -165,7 +185,9 @@ extra_rdoc_files:
165
185
  - history.md
166
186
  files:
167
187
  - ".gitignore"
188
+ - ".mailmap"
168
189
  - ".rspec"
190
+ - ".rubocop"
169
191
  - ".rubocop-disables.yml"
170
192
  - ".rubocop.yml"
171
193
  - ".travis.yml"
@@ -194,10 +216,11 @@ files:
194
216
  - lib/restclient/windows/root_certs.rb
195
217
  - rest-client.gemspec
196
218
  - rest-client.windows.gemspec
219
+ - spec/ISS.jpg
197
220
  - spec/helpers.rb
198
221
  - spec/integration/_lib.rb
199
- - spec/integration/capath_digicert/244b5494.0
200
- - spec/integration/capath_digicert/81b9768f.0
222
+ - spec/integration/capath_digicert/3513523f.0
223
+ - spec/integration/capath_digicert/399e7759.0
201
224
  - spec/integration/capath_digicert/README
202
225
  - spec/integration/capath_digicert/digicert.crt
203
226
  - spec/integration/capath_verisign/415660c1.0
@@ -213,7 +236,6 @@ files:
213
236
  - spec/unit/_lib.rb
214
237
  - spec/unit/abstract_response_spec.rb
215
238
  - spec/unit/exceptions_spec.rb
216
- - spec/unit/master_shake.jpg
217
239
  - spec/unit/params_array_spec.rb
218
240
  - spec/unit/payload_spec.rb
219
241
  - spec/unit/raw_response_spec.rb
@@ -243,17 +265,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
243
265
  - !ruby/object:Gem::Version
244
266
  version: '0'
245
267
  requirements: []
246
- rubyforge_project:
247
- rubygems_version: 2.6.11
268
+ rubygems_version: 3.0.3
248
269
  signing_key:
249
270
  specification_version: 4
250
271
  summary: Simple HTTP and REST client for Ruby, inspired by microframework syntax for
251
272
  specifying actions.
252
273
  test_files:
274
+ - spec/ISS.jpg
253
275
  - spec/helpers.rb
254
276
  - spec/integration/_lib.rb
255
- - spec/integration/capath_digicert/244b5494.0
256
- - spec/integration/capath_digicert/81b9768f.0
277
+ - spec/integration/capath_digicert/3513523f.0
278
+ - spec/integration/capath_digicert/399e7759.0
257
279
  - spec/integration/capath_digicert/README
258
280
  - spec/integration/capath_digicert/digicert.crt
259
281
  - spec/integration/capath_verisign/415660c1.0
@@ -269,7 +291,6 @@ test_files:
269
291
  - spec/unit/_lib.rb
270
292
  - spec/unit/abstract_response_spec.rb
271
293
  - spec/unit/exceptions_spec.rb
272
- - spec/unit/master_shake.jpg
273
294
  - spec/unit/params_array_spec.rb
274
295
  - spec/unit/payload_spec.rb
275
296
  - spec/unit/raw_response_spec.rb
@@ -1,19 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
3
- EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
4
- KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw
5
- MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ
6
- MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu
7
- Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t
8
- Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS
9
- OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3
10
- MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ
11
- NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe
12
- h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB
13
- Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY
14
- JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ
15
- V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp
16
- myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK
17
- mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
18
- vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
19
- -----END CERTIFICATE-----
@@ -1,19 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
3
- EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
4
- KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw
5
- MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ
6
- MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu
7
- Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t
8
- Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS
9
- OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3
10
- MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ
11
- NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe
12
- h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB
13
- Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY
14
- JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ
15
- V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp
16
- myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK
17
- mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
18
- vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
19
- -----END CERTIFICATE-----
Binary file