rest-client-maestro 1.7.3.maestro → 1.7.4.maestro

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OWUzZTU3YzFkNDk0MGIwMDEwNzliNWM5ZjViM2MwM2E5OGQ4YjlmZQ==
5
+ data.tar.gz: !binary |-
6
+ MDlkNzEyNmVjZmQ0NDNmYTg5MjBhNjI5ZmNhMjRlZTY3YmY1MTE4Zg==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ OGJhMTY4NGYyZWJmZjhkODU3MDI0YmE1NzkwMmM0ZjY4NDllNmExYTZiYjRk
10
+ MWY5ZDlkMTBiMThkYTFlOWFkYWIxYTY3OWNmYjMzY2I2MzE5MzRjZjQ3NzY2
11
+ N2JkNGVlNjBkZDE1MjM0ZDViZDFhZTUxMDYwZTNiM2NkYTEyY2M=
12
+ data.tar.gz: !binary |-
13
+ ZjY5ZjhjZTllN2RjNDZjYmQ3MzEyYWYxMzMwMzIzZDMzMGJhN2ZjZGVkNTc2
14
+ ZWZhZWQ0OWRhZWQ0NzlhZGVkM2JlNWYwMGU4ZWZlODc2OGRkODM2MWJhOGFk
15
+ MTNhNDQxYzIwNWU4MzdlZGRkYzk2MWEzMjQyMGIyMzFjMzA2N2U=
data/.travis.yml CHANGED
@@ -3,6 +3,7 @@ rvm:
3
3
  - "1.9.2"
4
4
  - "1.9.3"
5
5
  - "2.0.0"
6
+ - "2.1.0"
6
7
  branches:
7
8
  except:
8
9
  - "readme-edits"
@@ -40,13 +40,16 @@ module RestClient
40
40
  415 => 'Unsupported Media Type',
41
41
  416 => 'Requested Range Not Satisfiable',
42
42
  417 => 'Expectation Failed',
43
- 418 => 'I\'m A Teapot',
43
+ 418 => 'I\'m A Teapot', #RFC2324
44
44
  421 => 'Too Many Connections From This IP',
45
45
  422 => 'Unprocessable Entity', #WebDAV
46
46
  423 => 'Locked', #WebDAV
47
47
  424 => 'Failed Dependency', #WebDAV
48
48
  425 => 'Unordered Collection', #WebDAV
49
49
  426 => 'Upgrade Required',
50
+ 428 => 'Precondition Required', #RFC6585
51
+ 429 => 'Too Many Requests', #RFC6585
52
+ 431 => 'Request Header Fields Too Large', #RFC6585
50
53
  449 => 'Retry With', #Microsoft
51
54
  450 => 'Blocked By Windows Parental Controls', #Microsoft
52
55
 
@@ -59,7 +62,9 @@ module RestClient
59
62
  506 => 'Variant Also Negotiates',
60
63
  507 => 'Insufficient Storage', #WebDAV
61
64
  509 => 'Bandwidth Limit Exceeded', #Apache
62
- 510 => 'Not Extended'}
65
+ 510 => 'Not Extended',
66
+ 511 => 'Network Authentication Required', # RFC6585
67
+ }
63
68
 
64
69
  # Compatibility : make the Response act like a Net::HTTPResponse when needed
65
70
  module ResponseForException
@@ -49,8 +49,6 @@ module RestClient
49
49
  end
50
50
 
51
51
  class Base
52
- attr_reader :stream
53
-
54
52
  def initialize(params)
55
53
  build_stream(params)
56
54
  end
@@ -21,7 +21,8 @@ module RestClient
21
21
  # * :raw_response return a low-level RawResponse instead of a Response
22
22
  # * :max_redirects maximum number of redirections (default to 10)
23
23
  # * :verify_ssl enable ssl verification, possible values are constants from OpenSSL::SSL
24
- # * :timeout and :open_timeout passing in -1 will disable the timeout by setting the corresponding net timeout values to nil
24
+ # * :timeout and :open_timeout are how long to wait for a response and to
25
+ # open a connection, in seconds. Pass nil to disable the timeout.
25
26
  # * :ssl_client_cert, :ssl_client_key, :ssl_ca_file, :ssl_ca_path
26
27
  # * :ssl_version specifies the SSL version for the underlying Net::HTTP connection (defaults to 'SSLv3')
27
28
  class Request
@@ -48,8 +49,12 @@ module RestClient
48
49
  @payload = Payload.generate(args[:payload])
49
50
  @user = args[:user]
50
51
  @password = args[:password]
51
- @timeout = args[:timeout]
52
- @open_timeout = args[:open_timeout]
52
+ if args.include?(:timeout)
53
+ @timeout = args[:timeout]
54
+ end
55
+ if args.include?(:open_timeout)
56
+ @open_timeout = args[:open_timeout]
57
+ end
53
58
  @block_response = args[:block_response]
54
59
  @raw_response = args[:raw_response] || false
55
60
  @verify_ssl = args[:verify_ssl] || false
@@ -92,13 +97,46 @@ module RestClient
92
97
 
93
98
  def make_headers user_headers
94
99
  unless @cookies.empty?
95
- user_headers[:cookie] = @cookies.map { |(key, val)| "#{key.to_s}=#{CGI::unescape(val.to_s)}" }.sort.join('; ')
100
+
101
+ # Validate that the cookie names and values look sane. If you really
102
+ # want to pass scary characters, just set the Cookie header directly.
103
+ # RFC6265 is actually much more restrictive than we are.
104
+ @cookies.each do |key, val|
105
+ unless valid_cookie_key?(key)
106
+ raise ArgumentError.new("Invalid cookie name: #{key.inspect}")
107
+ end
108
+ unless valid_cookie_value?(val)
109
+ raise ArgumentError.new("Invalid cookie value: #{val.inspect}")
110
+ end
111
+ end
112
+
113
+ user_headers[:cookie] = @cookies.map { |key, val| "#{key}=#{val}" }.sort.join('; ')
96
114
  end
97
115
  headers = stringify_headers(default_headers).merge(stringify_headers(user_headers))
98
116
  headers.merge!(@payload.headers) if @payload
99
117
  headers
100
118
  end
101
119
 
120
+ # Do some sanity checks on cookie keys.
121
+ #
122
+ # Properly it should be a valid TOKEN per RFC 2616, but lots of servers are
123
+ # more liberal.
124
+ #
125
+ # Disallow the empty string as well as keys containing control characters,
126
+ # equals sign, semicolon, comma, or space.
127
+ #
128
+ def valid_cookie_key?(string)
129
+ return false if string.empty?
130
+
131
+ ! Regexp.new('[\x0-\x1f\x7f=;, ]').match(string)
132
+ end
133
+
134
+ # Validate cookie values. Rather than following RFC 6265, allow anything
135
+ # but control characters, comma, and semicolon.
136
+ def valid_cookie_value?(value)
137
+ ! Regexp.new('[\x0-\x1f\x7f,;]').match(value)
138
+ end
139
+
102
140
  def net_http_class
103
141
  if RestClient.proxy
104
142
  proxy_uri = URI.parse(RestClient.proxy)
@@ -167,12 +205,21 @@ module RestClient
167
205
  net.key = @ssl_client_key if @ssl_client_key
168
206
  net.ca_file = @ssl_ca_file if @ssl_ca_file
169
207
  net.ca_path = @ssl_ca_path if @ssl_ca_path
170
- net.read_timeout = @timeout if @timeout
171
- net.open_timeout = @open_timeout if @open_timeout
172
208
 
173
- # disable the timeout if the timeout value is -1
174
- net.read_timeout = nil if @timeout == -1
175
- net.open_timeout = nil if @open_timeout == -1
209
+ if defined? @timeout
210
+ if @timeout == -1
211
+ warn 'To disable read timeouts, please set timeout to nil instead of -1'
212
+ @timeout = nil
213
+ end
214
+ net.read_timeout = @timeout
215
+ end
216
+ if defined? @open_timeout
217
+ if @open_timeout == -1
218
+ warn 'To disable open timeouts, please set open_timeout to nil instead of -1'
219
+ @open_timeout = nil
220
+ end
221
+ net.open_timeout = @open_timeout
222
+ end
176
223
 
177
224
  RestClient.before_execution_procs.each do |before_proc|
178
225
  before_proc.call(req, args)
@@ -205,7 +252,7 @@ module RestClient
205
252
  end
206
253
  rescue EOFError
207
254
  raise RestClient::ServerBrokeConnection
208
- rescue Timeout::Error
255
+ rescue Timeout::Error, Errno::ETIMEDOUT
209
256
  raise RestClient::RequestTimeout
210
257
  end
211
258
 
@@ -219,6 +266,7 @@ module RestClient
219
266
  # Stolen from http://www.ruby-forum.com/topic/166423
220
267
  # Kudos to _why!
221
268
  @tf = Tempfile.new("rest-client")
269
+ @tf.binmode
222
270
  size, total = 0, http_response.header['Content-Length'].to_i
223
271
  http_response.read_body do |chunk|
224
272
  @tf.write chunk
@@ -0,0 +1,7 @@
1
+ module RestClient
2
+ VERSION = '1.7.0.alpha' unless defined?(self::VERSION)
3
+
4
+ def self.version
5
+ VERSION
6
+ end
7
+ end
data/lib/restclient.rb CHANGED
@@ -9,6 +9,7 @@ rescue LoadError => e
9
9
  raise LoadError, "no such file to load -- net/https. Try running apt-get install libopenssl-ruby"
10
10
  end
11
11
 
12
+ require File.dirname(__FILE__) + '/restclient/version'
12
13
  require File.dirname(__FILE__) + '/restclient/exceptions'
13
14
  require File.dirname(__FILE__) + '/restclient/request'
14
15
  require File.dirname(__FILE__) + '/restclient/abstract_response'
@@ -103,12 +104,6 @@ module RestClient
103
104
  @@log = create_log log
104
105
  end
105
106
 
106
- def self.version
107
- version_path = File.dirname(__FILE__) + "/../VERSION"
108
- return File.read(version_path).chomp if File.file?(version_path)
109
- "0.0.0"
110
- end
111
-
112
107
  # Create a log that respond to << like a logger
113
108
  # param can be 'stdout', 'stderr', a string (then we will log to that file) or a logger (then we return it)
114
109
  def self.create_log param
@@ -1,8 +1,10 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
+ require File.expand_path("../lib/restclient/version", __FILE__)
4
+
3
5
  Gem::Specification.new do |s|
4
6
  s.name = 'rest-client-maestro'
5
- s.version = '1.7.3.maestro'
7
+ s.version = '1.7.4.maestro'
6
8
  s.authors = ['REST Client Team']
7
9
  s.description = 'A simple HTTP and REST client for Ruby, inspired by the Sinatra microframework style of specifying actions: get, put, post, delete.'
8
10
  s.license = 'MIT'
@@ -14,10 +16,12 @@ Gem::Specification.new do |s|
14
16
  s.homepage = 'http://github.com/maestrodev/rest-client'
15
17
  s.summary = 'Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.'
16
18
 
17
- s.add_runtime_dependency(%q<mime-types>, [">= 1.16"])
18
- s.add_development_dependency(%q<webmock>, ["~> 1.4"])
19
- s.add_development_dependency(%q<rspec>, ["~> 2.4"])
20
- s.add_dependency(%q<netrc>, ["~> 0.7.7"])
21
- s.add_dependency(%q<rdoc>, [">= 2.4.2"])
19
+ s.add_dependency('mime-types', '~> 2.0')
20
+ s.add_development_dependency('webmock', '~> 1.4')
21
+ s.add_development_dependency('rspec', '~> 2.4')
22
+ s.add_development_dependency('pry')
23
+ s.add_development_dependency('pry-doc')
24
+ s.add_dependency('netrc', '~> 0.7.7')
25
+ s.add_dependency('rdoc', '>= 2.4.2')
22
26
  end
23
27
 
@@ -0,0 +1,19 @@
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-----
@@ -0,0 +1,19 @@
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-----
@@ -0,0 +1,19 @@
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-----
@@ -0,0 +1,19 @@
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-----
@@ -13,9 +13,9 @@ describe RestClient::Request do
13
13
  it "is successful with the correct ca_file" do
14
14
  request = RestClient::Request.new(
15
15
  :method => :get,
16
- :url => 'https://www.mozilla.com',
16
+ :url => 'https://www.mozilla.org',
17
17
  :verify_ssl => OpenSSL::SSL::VERIFY_PEER,
18
- :ssl_ca_file => File.join(File.dirname(__FILE__), "certs", "equifax.crt")
18
+ :ssl_ca_file => File.join(File.dirname(__FILE__), "certs", "digicert.crt")
19
19
  )
20
20
  expect { request.execute }.to_not raise_error
21
21
  end
@@ -23,9 +23,9 @@ describe RestClient::Request do
23
23
  it "is successful with the correct ca_path" do
24
24
  request = RestClient::Request.new(
25
25
  :method => :get,
26
- :url => 'https://www.mozilla.com',
26
+ :url => 'https://www.mozilla.org',
27
27
  :verify_ssl => OpenSSL::SSL::VERIFY_PEER,
28
- :ssl_ca_path => File.join(File.dirname(__FILE__), "capath_equifax")
28
+ :ssl_ca_path => File.join(File.dirname(__FILE__), "capath_digicert")
29
29
  )
30
30
  expect { request.execute }.to_not raise_error
31
31
  end
@@ -114,6 +114,41 @@ describe RestClient::Request do
114
114
  @request.make_headers({}).should eq({ 'Foo' => 'bar', 'Cookie' => 'session_id=1; user_id=someone'})
115
115
  end
116
116
 
117
+ it "does not escape or unescape cookies" do
118
+ cookie = 'Foo%20:Bar%0A~'
119
+ @request = RestClient::Request.new(:method => 'get', :url => 'example.com',
120
+ :cookies => {:test => cookie})
121
+ @request.should_receive(:default_headers).and_return({'Foo' => 'bar'})
122
+ @request.make_headers({}).should eq({
123
+ 'Foo' => 'bar',
124
+ 'Cookie' => "test=#{cookie}"
125
+ })
126
+ end
127
+
128
+ it "rejects cookie names containing invalid characters" do
129
+ # Cookie validity is something of a mess, but we should reject the worst of
130
+ # the RFC 6265 (4.1.1) prohibited characters such as control characters.
131
+
132
+ ['', 'foo=bar', 'foo;bar', "foo\nbar"].each do |cookie_name|
133
+ lambda {
134
+ RestClient::Request.new(:method => 'get', :url => 'example.com',
135
+ :cookies => {cookie_name => 'value'})
136
+ }.should raise_error(ArgumentError, /\AInvalid cookie name/)
137
+ end
138
+ end
139
+
140
+ it "rejects cookie values containing invalid characters" do
141
+ # Cookie validity is something of a mess, but we should reject the worst of
142
+ # the RFC 6265 (4.1.1) prohibited characters such as control characters.
143
+
144
+ ['foo,bar', 'foo;bar', "foo\nbar"].each do |cookie_value|
145
+ lambda {
146
+ RestClient::Request.new(:method => 'get', :url => 'example.com',
147
+ :cookies => {'test' => cookie_value})
148
+ }.should raise_error(ArgumentError, /\AInvalid cookie value/)
149
+ end
150
+ end
151
+
117
152
  it "uses netrc credentials" do
118
153
  URI.stub(:parse).and_return(double('uri', :user => nil, :password => nil, :host => 'example.com'))
119
154
  Netrc.stub(:read).and_return('example.com' => ['a', 'b'])
@@ -285,6 +320,24 @@ describe RestClient::Request do
285
320
  lambda { @request.transmit(@uri, 'req', nil) }.should raise_error(RestClient::ServerBrokeConnection)
286
321
  end
287
322
 
323
+ it "catches OpenSSL::SSL::SSLError and raise it back without more informative message" do
324
+ @http.stub(:request).and_raise(OpenSSL::SSL::SSLError)
325
+ @net.should_receive(:ssl_version=).with('SSLv3')
326
+ lambda { @request.transmit(@uri, 'req', nil) }.should raise_error(OpenSSL::SSL::SSLError)
327
+ end
328
+
329
+ it "catches Timeout::Error and raise the more informative RequestTimeout" do
330
+ @http.stub(:request).and_raise(Timeout::Error)
331
+ @net.should_receive(:ssl_version=).with('SSLv3')
332
+ lambda { @request.transmit(@uri, 'req', nil) }.should raise_error(RestClient::RequestTimeout)
333
+ end
334
+
335
+ it "catches Timeout::Error and raise the more informative RequestTimeout" do
336
+ @http.stub(:request).and_raise(Errno::ETIMEDOUT)
337
+ @net.should_receive(:ssl_version=).with('SSLv3')
338
+ lambda { @request.transmit(@uri, 'req', nil) }.should raise_error(RestClient::RequestTimeout)
339
+ end
340
+
288
341
  it "class method execute wraps constructor" do
289
342
  req = double("rest request")
290
343
  RestClient::Request.should_receive(:new).with(1 => 2).and_return(req)
@@ -387,6 +440,19 @@ describe RestClient::Request do
387
440
  end
388
441
 
389
442
  describe "timeout" do
443
+ it "does not set timeouts if not specified" do
444
+ @request = RestClient::Request.new(:method => :put, :url => 'http://some/resource', :payload => 'payload')
445
+ @http.stub(:request)
446
+ @request.stub(:process_result)
447
+ @request.stub(:response_log)
448
+
449
+ @net.should_not_receive(:read_timeout=)
450
+ @net.should_not_receive(:open_timeout=)
451
+ @net.should_receive(:ssl_version=).with('SSLv3')
452
+
453
+ @request.transmit(@uri, 'req', nil)
454
+ end
455
+
390
456
  it "set read_timeout" do
391
457
  @request = RestClient::Request.new(:method => :put, :url => 'http://some/resource', :payload => 'payload', :timeout => 123, :ssl_version => 'SSLv3')
392
458
  @http.stub(:request)
@@ -410,6 +476,35 @@ describe RestClient::Request do
410
476
 
411
477
  @request.transmit(@uri, 'req', nil)
412
478
  end
479
+
480
+ it "disable timeout by setting it to nil" do
481
+ @request = RestClient::Request.new(:method => :put, :url => 'http://some/resource', :payload => 'payload', :timeout => nil, :open_timeout => nil)
482
+ @http.stub(:request)
483
+ @request.stub(:process_result)
484
+ @request.stub(:response_log)
485
+
486
+ @net.should_receive(:read_timeout=).with(nil)
487
+ @net.should_receive(:open_timeout=).with(nil)
488
+ @net.should_receive(:ssl_version=).with('SSLv3')
489
+
490
+ @request.transmit(@uri, 'req', nil)
491
+ end
492
+
493
+ it "deprecated: disable timeout by setting it to -1" do
494
+ @request = RestClient::Request.new(:method => :put, :url => 'http://some/resource', :payload => 'payload', :timeout => -1, :open_timeout => -1)
495
+ @http.stub(:request)
496
+ @request.stub(:process_result)
497
+ @request.stub(:response_log)
498
+
499
+ @request.should_receive(:warn)
500
+ @net.should_receive(:read_timeout=).with(nil)
501
+
502
+ @request.should_receive(:warn)
503
+ @net.should_receive(:open_timeout=).with(nil)
504
+ @net.should_receive(:ssl_version=).with('SSLv3')
505
+
506
+ @request.transmit(@uri, 'req', nil)
507
+ end
413
508
  end
414
509
 
415
510
  describe "ssl" do
@@ -618,4 +713,20 @@ describe RestClient::Request do
618
713
  response.should_not be_nil
619
714
  response.code.should eq 204
620
715
  end
716
+
717
+ describe "raw response" do
718
+ it "should read the response into a binary-mode tempfile" do
719
+ @request = RestClient::Request.new(:method => "get", :url => "example.com", :raw_response => true)
720
+
721
+ tempfile = double("tempfile")
722
+ tempfile.should_receive(:binmode)
723
+ tempfile.stub(:open)
724
+ tempfile.stub(:close)
725
+ Tempfile.should_receive(:new).with("rest-client").and_return(tempfile)
726
+
727
+ net_http_res = Net::HTTPOK.new(nil, "200", "body")
728
+ net_http_res.stub(:read_body).and_return("body")
729
+ @request.fetch_body(net_http_res)
730
+ end
731
+ end
621
732
  end
@@ -70,4 +70,10 @@ describe RestClient do
70
70
  end
71
71
  end
72
72
 
73
+ describe 'version' do
74
+ it 'has a version ~> 1.7.0.alpha' do
75
+ ver = Gem::Version.new(RestClient.version)
76
+ Gem::Requirement.new('~> 1.7.0.alpha').should be_satisfied_by(ver)
77
+ end
78
+ end
73
79
  end
metadata CHANGED
@@ -1,111 +1,123 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rest-client-maestro
3
- version: !ruby/object:Gem::Version
4
- hash: -886712519
5
- prerelease: true
6
- segments:
7
- - 1
8
- - 7
9
- - 3
10
- - maestro
11
- version: 1.7.3.maestro
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.7.4.maestro
12
5
  platform: ruby
13
- authors:
6
+ authors:
14
7
  - REST Client Team
15
8
  autorequire:
16
9
  bindir: bin
17
10
  cert_chain: []
18
-
19
- date: 2014-02-11 00:00:00 -08:00
20
- default_executable:
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
11
+ date: 2014-03-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
23
14
  name: mime-types
24
- prerelease: false
25
- requirement: &id001 !ruby/object:Gem::Requirement
26
- none: false
27
- requirements:
28
- - - ">="
29
- - !ruby/object:Gem::Version
30
- hash: 47
31
- segments:
32
- - 1
33
- - 16
34
- version: "1.16"
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
35
20
  type: :runtime
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: webmock
39
21
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: webmock
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
43
31
  - - ~>
44
- - !ruby/object:Gem::Version
45
- hash: 7
46
- segments:
47
- - 1
48
- - 4
49
- version: "1.4"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.4'
50
34
  type: :development
51
- version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.4'
41
+ - !ruby/object:Gem::Dependency
53
42
  name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '2.4'
48
+ type: :development
54
49
  prerelease: false
55
- requirement: &id003 !ruby/object:Gem::Requirement
56
- none: false
57
- requirements:
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
58
52
  - - ~>
59
- - !ruby/object:Gem::Version
60
- hash: 11
61
- segments:
62
- - 2
63
- - 4
64
- version: "2.4"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.4'
55
+ - !ruby/object:Gem::Dependency
56
+ name: pry
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
65
62
  type: :development
66
- version_requirements: *id003
67
- - !ruby/object:Gem::Dependency
68
- name: netrc
69
63
  prerelease: false
70
- requirement: &id004 !ruby/object:Gem::Requirement
71
- none: false
72
- requirements:
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry-doc
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ! '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: netrc
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
73
87
  - - ~>
74
- - !ruby/object:Gem::Version
75
- hash: 13
76
- segments:
77
- - 0
78
- - 7
79
- - 7
88
+ - !ruby/object:Gem::Version
80
89
  version: 0.7.7
81
90
  type: :runtime
82
- version_requirements: *id004
83
- - !ruby/object:Gem::Dependency
84
- name: rdoc
85
91
  prerelease: false
86
- requirement: &id005 !ruby/object:Gem::Requirement
87
- none: false
88
- requirements:
89
- - - ">="
90
- - !ruby/object:Gem::Version
91
- hash: 27
92
- segments:
93
- - 2
94
- - 4
95
- - 2
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: 0.7.7
97
+ - !ruby/object:Gem::Dependency
98
+ name: rdoc
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ! '>='
102
+ - !ruby/object:Gem::Version
96
103
  version: 2.4.2
97
104
  type: :runtime
98
- version_requirements: *id005
99
- description: "A simple HTTP and REST client for Ruby, inspired by the Sinatra microframework style of specifying actions: get, put, post, delete."
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: 2.4.2
111
+ description: ! 'A simple HTTP and REST client for Ruby, inspired by the Sinatra microframework
112
+ style of specifying actions: get, put, post, delete.'
100
113
  email: rest.client@librelist.com
101
- executables:
114
+ executables:
102
115
  - restclient
103
116
  extensions: []
104
-
105
- extra_rdoc_files:
117
+ extra_rdoc_files:
106
118
  - README.rdoc
107
119
  - history.md
108
- files:
120
+ files:
109
121
  - .gitignore
110
122
  - .rspec
111
123
  - .ruby-version
@@ -127,16 +139,17 @@ files:
127
139
  - lib/restclient/request.rb
128
140
  - lib/restclient/resource.rb
129
141
  - lib/restclient/response.rb
142
+ - lib/restclient/version.rb
130
143
  - rest-client-maestro.gemspec
131
- - spec/integration/capath_equifax/578d5c04.0
132
- - spec/integration/capath_equifax/594f1775.0
133
- - spec/integration/capath_equifax/README
134
- - spec/integration/capath_equifax/equifax.crt
144
+ - spec/integration/capath_digicert/244b5494.0
145
+ - spec/integration/capath_digicert/81b9768f.0
146
+ - spec/integration/capath_digicert/README
147
+ - spec/integration/capath_digicert/digicert.crt
135
148
  - spec/integration/capath_verisign/415660c1.0
136
149
  - spec/integration/capath_verisign/7651b327.0
137
150
  - spec/integration/capath_verisign/README
138
151
  - spec/integration/capath_verisign/verisign.crt
139
- - spec/integration/certs/equifax.crt
152
+ - spec/integration/certs/digicert.crt
140
153
  - spec/integration/certs/verisign.crt
141
154
  - spec/integration/integration_spec.rb
142
155
  - spec/integration/request_spec.rb
@@ -151,52 +164,41 @@ files:
151
164
  - spec/unit/resource_spec.rb
152
165
  - spec/unit/response_spec.rb
153
166
  - spec/unit/restclient_spec.rb
154
- has_rdoc: true
155
167
  homepage: http://github.com/maestrodev/rest-client
156
- licenses:
168
+ licenses:
157
169
  - MIT
170
+ metadata: {}
158
171
  post_install_message:
159
172
  rdoc_options: []
160
-
161
- require_paths:
173
+ require_paths:
162
174
  - lib
163
- required_ruby_version: !ruby/object:Gem::Requirement
164
- none: false
165
- requirements:
166
- - - ">="
167
- - !ruby/object:Gem::Version
168
- hash: 3
169
- segments:
170
- - 0
171
- version: "0"
172
- required_rubygems_version: !ruby/object:Gem::Requirement
173
- none: false
174
- requirements:
175
- - - ">"
176
- - !ruby/object:Gem::Version
177
- hash: 25
178
- segments:
179
- - 1
180
- - 3
181
- - 1
175
+ required_ruby_version: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ! '>='
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ required_rubygems_version: !ruby/object:Gem::Requirement
181
+ requirements:
182
+ - - ! '>'
183
+ - !ruby/object:Gem::Version
182
184
  version: 1.3.1
183
185
  requirements: []
184
-
185
186
  rubyforge_project:
186
- rubygems_version: 1.3.7
187
+ rubygems_version: 2.2.2
187
188
  signing_key:
188
- specification_version: 3
189
- summary: Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.
190
- test_files:
191
- - spec/integration/capath_equifax/578d5c04.0
192
- - spec/integration/capath_equifax/594f1775.0
193
- - spec/integration/capath_equifax/README
194
- - spec/integration/capath_equifax/equifax.crt
189
+ specification_version: 4
190
+ summary: Simple HTTP and REST client for Ruby, inspired by microframework syntax for
191
+ specifying actions.
192
+ test_files:
193
+ - spec/integration/capath_digicert/244b5494.0
194
+ - spec/integration/capath_digicert/81b9768f.0
195
+ - spec/integration/capath_digicert/README
196
+ - spec/integration/capath_digicert/digicert.crt
195
197
  - spec/integration/capath_verisign/415660c1.0
196
198
  - spec/integration/capath_verisign/7651b327.0
197
199
  - spec/integration/capath_verisign/README
198
200
  - spec/integration/capath_verisign/verisign.crt
199
- - spec/integration/certs/equifax.crt
201
+ - spec/integration/certs/digicert.crt
200
202
  - spec/integration/certs/verisign.crt
201
203
  - spec/integration/integration_spec.rb
202
204
  - spec/integration/request_spec.rb
@@ -1,19 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
3
- UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
4
- dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
5
- MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
6
- dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
7
- AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
8
- BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
9
- cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
10
- AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
11
- MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
12
- aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
13
- ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
14
- IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
15
- MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
16
- A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
17
- 7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
18
- 1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
19
- -----END CERTIFICATE-----
@@ -1,19 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
3
- UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
4
- dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
5
- MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
6
- dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
7
- AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
8
- BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
9
- cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
10
- AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
11
- MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
12
- aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
13
- ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
14
- IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
15
- MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
16
- A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
17
- 7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
18
- 1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
19
- -----END CERTIFICATE-----
@@ -1,19 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
3
- UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
4
- dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
5
- MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
6
- dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
7
- AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
8
- BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
9
- cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
10
- AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
11
- MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
12
- aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
13
- ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
14
- IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
15
- MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
16
- A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
17
- 7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
18
- 1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
19
- -----END CERTIFICATE-----
@@ -1,19 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
3
- UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
4
- dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
5
- MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
6
- dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
7
- AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
8
- BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
9
- cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
10
- AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
11
- MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
12
- aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
13
- ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
14
- IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
15
- MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
16
- A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
17
- 7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
18
- 1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
19
- -----END CERTIFICATE-----