net-http-persistent 4.0.4 → 4.0.5
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 +4 -4
- data/History.txt +6 -0
- data/lib/net/http/persistent.rb +26 -1
- data/test/test_net_http_persistent.rb +20 -0
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 182064ce89718e66d95177021a7005adeb6e1d4299925e90fc6ac2a537dc533d
         | 
| 4 | 
            +
              data.tar.gz: ef7588300c587a1f71e49496ed6131acdf3cad110fa6653acab3779f5f01e3ee
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 14c95c55ea8c89616d13917ba1fb9b05253181fd7007cf5aa03ab03c8e9987e8d4dc936b21481bf37f810df5931994ea6e5dc2eb6c259ab6591f2cfa75bff24f
         | 
| 7 | 
            +
              data.tar.gz: e7560d360ac6b20b750a19f6b84c7e5f8656e44962fbb8223ae1295e18dea513456df99c268fa06c2909b9c7e1c4e96655b7055432032d1044187ce07a2ba40b
         | 
    
        data/History.txt
    CHANGED
    
    
    
        data/lib/net/http/persistent.rb
    CHANGED
    
    | @@ -65,6 +65,7 @@ autoload :OpenSSL, 'openssl' | |
| 65 65 | 
             
            # #ca_path            :: Directory with certificate-authorities
         | 
| 66 66 | 
             
            # #cert_store         :: An SSL certificate store
         | 
| 67 67 | 
             
            # #ciphers            :: List of SSl ciphers allowed
         | 
| 68 | 
            +
            # #extra_chain_cert   :: Extra certificates to be added to the certificate chain
         | 
| 68 69 | 
             
            # #private_key        :: The client's SSL private key
         | 
| 69 70 | 
             
            # #reuse_ssl_sessions :: Reuse a previously opened SSL session for a new
         | 
| 70 71 | 
             
            #                        connection
         | 
| @@ -181,7 +182,7 @@ class Net::HTTP::Persistent | |
| 181 182 | 
             
              ##
         | 
| 182 183 | 
             
              # The version of Net::HTTP::Persistent you are using
         | 
| 183 184 |  | 
| 184 | 
            -
              VERSION = '4.0. | 
| 185 | 
            +
              VERSION = '4.0.5'
         | 
| 185 186 |  | 
| 186 187 | 
             
              ##
         | 
| 187 188 | 
             
              # Error class for errors raised by Net::HTTP::Persistent.  Various
         | 
| @@ -272,6 +273,11 @@ class Net::HTTP::Persistent | |
| 272 273 |  | 
| 273 274 | 
             
              attr_reader :ciphers
         | 
| 274 275 |  | 
| 276 | 
            +
              ##
         | 
| 277 | 
            +
              # Extra certificates to be added to the certificate chain
         | 
| 278 | 
            +
             | 
| 279 | 
            +
              attr_reader :extra_chain_cert
         | 
| 280 | 
            +
             | 
| 275 281 | 
             
              ##
         | 
| 276 282 | 
             
              # Sends debug_output to this IO via Net::HTTP#set_debug_output.
         | 
| 277 283 | 
             
              #
         | 
| @@ -592,6 +598,21 @@ class Net::HTTP::Persistent | |
| 592 598 | 
             
                reconnect_ssl
         | 
| 593 599 | 
             
              end
         | 
| 594 600 |  | 
| 601 | 
            +
              if Net::HTTP.method_defined?(:extra_chain_cert=)
         | 
| 602 | 
            +
                ##
         | 
| 603 | 
            +
                # Extra certificates to be added to the certificate chain.
         | 
| 604 | 
            +
                # It is only supported starting from Net::HTTP version 0.1.1
         | 
| 605 | 
            +
                def extra_chain_cert= extra_chain_cert
         | 
| 606 | 
            +
                  @extra_chain_cert = extra_chain_cert
         | 
| 607 | 
            +
             | 
| 608 | 
            +
                  reconnect_ssl
         | 
| 609 | 
            +
                end
         | 
| 610 | 
            +
              else
         | 
| 611 | 
            +
                def extra_chain_cert= _extra_chain_cert
         | 
| 612 | 
            +
                  raise "extra_chain_cert= is not supported by this version of Net::HTTP"
         | 
| 613 | 
            +
                end
         | 
| 614 | 
            +
              end
         | 
| 615 | 
            +
             | 
| 595 616 | 
             
              ##
         | 
| 596 617 | 
             
              # Creates a new connection for +uri+
         | 
| 597 618 |  | 
| @@ -1043,6 +1064,10 @@ application: | |
| 1043 1064 | 
             
                  connection.key  = @private_key
         | 
| 1044 1065 | 
             
                end
         | 
| 1045 1066 |  | 
| 1067 | 
            +
                if defined?(@extra_chain_cert) and @extra_chain_cert
         | 
| 1068 | 
            +
                  connection.extra_chain_cert = @extra_chain_cert
         | 
| 1069 | 
            +
                end
         | 
| 1070 | 
            +
             | 
| 1046 1071 | 
             
                connection.cert_store = if @cert_store then
         | 
| 1047 1072 | 
             
                                          @cert_store
         | 
| 1048 1073 | 
             
                                        else
         | 
| @@ -247,6 +247,14 @@ class TestNetHttpPersistent < Minitest::Test | |
| 247 247 | 
             
                assert_equal 1, @http.ssl_generation
         | 
| 248 248 | 
             
              end
         | 
| 249 249 |  | 
| 250 | 
            +
              def test_extra_chain_cert_equals
         | 
| 251 | 
            +
                skip 'extra_chain_cert is not supported by Net::HTTP' unless Net::HTTP.method_defined?(:extra_chain_cert)
         | 
| 252 | 
            +
                @http.extra_chain_cert = :extra_chain_cert
         | 
| 253 | 
            +
             | 
| 254 | 
            +
                assert_equal :extra_chain_cert, @http.extra_chain_cert
         | 
| 255 | 
            +
                assert_equal 1, @http.ssl_generation
         | 
| 256 | 
            +
              end
         | 
| 257 | 
            +
             | 
| 250 258 | 
             
              def test_connection_for
         | 
| 251 259 | 
             
                @http.open_timeout = 123
         | 
| 252 260 | 
             
                @http.read_timeout = 321
         | 
| @@ -1373,6 +1381,18 @@ class TestNetHttpPersistent < Minitest::Test | |
| 1373 1381 | 
             
                assert c.verify_hostname == false
         | 
| 1374 1382 | 
             
              end
         | 
| 1375 1383 |  | 
| 1384 | 
            +
              def test_ssl_extra_chain_cert
         | 
| 1385 | 
            +
                skip 'OpenSSL is missing' unless HAVE_OPENSSL
         | 
| 1386 | 
            +
                skip 'extra_chain_cert is not supported by Net::HTTP' unless Net::HTTP.method_defined?(:extra_chain_cert)
         | 
| 1387 | 
            +
             | 
| 1388 | 
            +
                @http.extra_chain_cert = :extra_chain_cert
         | 
| 1389 | 
            +
                c = Net::HTTP.new 'localhost', 80
         | 
| 1390 | 
            +
             | 
| 1391 | 
            +
                @http.ssl c
         | 
| 1392 | 
            +
             | 
| 1393 | 
            +
                assert c.use_ssl?
         | 
| 1394 | 
            +
                assert_equal :extra_chain_cert, c.extra_chain_cert
         | 
| 1395 | 
            +
              end
         | 
| 1376 1396 |  | 
| 1377 1397 | 
             
              def test_ssl_warning
         | 
| 1378 1398 | 
             
                skip 'OpenSSL is missing' unless HAVE_OPENSSL
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: net-http-persistent
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 4.0. | 
| 4 | 
            +
              version: 4.0.5
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Eric Hodel
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2024- | 
| 11 | 
            +
            date: 2024-12-04 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: connection_pool
         |