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

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.
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-----