nice_http 1.8.6 → 1.8.7
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/README.md +4 -1
- data/lib/nice_http.rb +21 -5
- metadata +10 -10
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8d4be3fb22aecfd4d84cb2c9384da399cf7a521742bba214f5e2746491120f4b
         | 
| 4 | 
            +
              data.tar.gz: c2a143357e458385078c5e6709100d06ae473f7363282eb9c36c766618631dcf
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 7e752817f9ca1b87b944904435c2a507b41cc8c76e0744ff10a4db1f21ea7009a75255d97b45d6a381cd7f1ed30d91ef1fc46371fb935e6cd18482df3867f693
         | 
| 7 | 
            +
              data.tar.gz: 6269a98fa4e85bf2a9b13069d279bd58f184267b5b38342a1aa5c3cfbe855207bbacb94b91f5f22e2735426fc726326be381edaab27229f943455569ce157e3d
         | 
    
        data/README.md
    CHANGED
    
    | @@ -122,6 +122,7 @@ NiceHttp.defaults = { | |
| 122 122 | 
             
                host: 'reqres.in',
         | 
| 123 123 | 
             
                ssl: true,
         | 
| 124 124 | 
             
                port: 443,
         | 
| 125 | 
            +
                timeout: 15, #seconds
         | 
| 125 126 | 
             
                debug: false,
         | 
| 126 127 | 
             
                log: "./my_logs.log",
         | 
| 127 128 | 
             
                headers: {"api-key": "the api key"}
         | 
| @@ -289,6 +290,8 @@ Also interesting keys would be: *time_elapsed_total*, *time_elapsed* and many mo | |
| 289 290 |  | 
| 290 291 | 
             
            *auto_redirect*: (true or false) in case of true it will take care of the auto redirections.
         | 
| 291 292 |  | 
| 293 | 
            +
            *timeout*: Integer that will set a time out for the time waiting to connect to a host or waiting for a response.
         | 
| 294 | 
            +
             | 
| 292 295 | 
             
            ## Authentication requests
         | 
| 293 296 |  | 
| 294 297 | 
             
            All we need to do is to add to our request the correct authentication tokens, seeds, headers.
         | 
| @@ -584,7 +587,7 @@ threads = [] | |
| 584 587 | 
             
                end
         | 
| 585 588 | 
             
            end
         | 
| 586 589 |  | 
| 587 | 
            -
             | 
| 590 | 
            +
            threads.each(&:join)
         | 
| 588 591 |  | 
| 589 592 | 
             
            # log files: nice_http_0.log, nice_http_1.log... nice_http_39.log
         | 
| 590 593 | 
             
            ```
         | 
    
        data/lib/nice_http.rb
    CHANGED
    
    | @@ -7,13 +7,14 @@ require_relative "nice_http/http_methods" | |
| 7 7 |  | 
| 8 8 | 
             
            ######################################################
         | 
| 9 9 | 
             
            # Attributes you can access using NiceHttp.the_attribute:  
         | 
| 10 | 
            -
            #   :host, :port, :ssl, :headers, :debug, :log, :log_headers, :proxy_host, :proxy_port,  
         | 
| 10 | 
            +
            #   :host, :port, :ssl, :timeout, :headers, :debug, :log, :log_headers, :proxy_host, :proxy_port,  
         | 
| 11 11 | 
             
            #   :last_request, :last_response, :request_id, :use_mocks, :connections,  
         | 
| 12 12 | 
             
            #   :active, :auto_redirect, :values_for, :create_stats, :stats, :capture, :captured, :request, :requests
         | 
| 13 13 | 
             
            #
         | 
| 14 14 | 
             
            # @attr [String] host The host to be accessed
         | 
| 15 15 | 
             
            # @attr [Integer] port The port number
         | 
| 16 16 | 
             
            # @attr [Boolean] ssl If you use ssl or not
         | 
| 17 | 
            +
            # @attr [Integer] timeout Max time to wait until connected to the host or getting a response.
         | 
| 17 18 | 
             
            # @attr [Hash] headers Contains the headers you will be using on your connection
         | 
| 18 19 | 
             
            # @attr [Boolean] debug In case true shows all the details of the communication with the host
         | 
| 19 20 | 
             
            # @attr [String] log_path The path where the logs will be stored. By default empty string.
         | 
| @@ -71,7 +72,7 @@ class NiceHttp | |
| 71 72 | 
             
              end
         | 
| 72 73 |  | 
| 73 74 | 
             
              class << self
         | 
| 74 | 
            -
                attr_accessor :host, :port, :ssl, :headers, :debug, :log_path, :log, :proxy_host, :proxy_port, :log_headers,
         | 
| 75 | 
            +
                attr_accessor :host, :port, :ssl, :timeout, :headers, :debug, :log_path, :log, :proxy_host, :proxy_port, :log_headers,
         | 
| 75 76 | 
             
                              :last_request, :last_response, :request, :request_id, :use_mocks, :connections,
         | 
| 76 77 | 
             
                              :active, :auto_redirect, :log_files, :values_for, :create_stats, :stats, :capture, :captured, :requests
         | 
| 77 78 | 
             
              end
         | 
| @@ -89,6 +90,7 @@ class NiceHttp | |
| 89 90 | 
             
                @host = nil
         | 
| 90 91 | 
             
                @port = 80
         | 
| 91 92 | 
             
                @ssl = false
         | 
| 93 | 
            +
                @timeout = nil
         | 
| 92 94 | 
             
                @headers = {}
         | 
| 93 95 | 
             
                @values_for = {}
         | 
| 94 96 | 
             
                @debug = false
         | 
| @@ -137,18 +139,19 @@ class NiceHttp | |
| 137 139 | 
             
                subclass.reset!
         | 
| 138 140 | 
             
              end
         | 
| 139 141 |  | 
| 140 | 
            -
              attr_reader :host, :port, :ssl, :debug, :log, :log_path, :proxy_host, :proxy_port, :response, :num_redirects
         | 
| 142 | 
            +
              attr_reader :host, :port, :ssl, :timeout, :debug, :log, :log_path, :proxy_host, :proxy_port, :response, :num_redirects
         | 
| 141 143 | 
             
              attr_accessor :headers, :cookies, :use_mocks, :auto_redirect, :logger, :values_for, :log_headers
         | 
| 142 144 |  | 
| 143 145 | 
             
              ######################################################
         | 
| 144 146 | 
             
              # Change the default values for NiceHttp supplying a Hash
         | 
| 145 147 | 
             
              #
         | 
| 146 | 
            -
              # @param par [Hash] keys: :host, :port, :ssl, :headers, :debug, :log, :log_path, :proxy_host, :proxy_port, :use_mocks, :auto_redirect, :values_for, :create_stats, :log_headers, :capture
         | 
| 148 | 
            +
              # @param par [Hash] keys: :host, :port, :ssl, :timeout, :headers, :debug, :log, :log_path, :proxy_host, :proxy_port, :use_mocks, :auto_redirect, :values_for, :create_stats, :log_headers, :capture
         | 
| 147 149 | 
             
              ######################################################
         | 
| 148 150 | 
             
              def self.defaults=(par = {})
         | 
| 149 151 | 
             
                @host = par[:host] if par.key?(:host)
         | 
| 150 152 | 
             
                @port = par[:port] if par.key?(:port)
         | 
| 151 153 | 
             
                @ssl = par[:ssl] if par.key?(:ssl)
         | 
| 154 | 
            +
                @timeout = par[:timeout] if par.key?(:timeout)
         | 
| 152 155 | 
             
                @headers = par[:headers].dup if par.key?(:headers)
         | 
| 153 156 | 
             
                @values_for = par[:values_for].dup if par.key?(:values_for)
         | 
| 154 157 | 
             
                @debug = par[:debug] if par.key?(:debug)
         | 
| @@ -300,6 +303,7 @@ class NiceHttp | |
| 300 303 | 
             
              #             host -- example.com. (default blank screen)  
         | 
| 301 304 | 
             
              #             port -- port for the connection. 80 (default)  
         | 
| 302 305 | 
             
              #             ssl -- true, false (default)  
         | 
| 306 | 
            +
              #             timeout -- integer or nil (default)
         | 
| 303 307 | 
             
              #             headers -- hash with the headers  
         | 
| 304 308 | 
             
              #             values_for -- hash with the values_for  
         | 
| 305 309 | 
             
              #             debug -- true, false (default)  
         | 
| @@ -327,6 +331,7 @@ class NiceHttp | |
| 327 331 | 
             
                @port = self.class.port
         | 
| 328 332 | 
             
                @prepath = ""
         | 
| 329 333 | 
             
                @ssl = self.class.ssl
         | 
| 334 | 
            +
                @timeout = self.class.timeout
         | 
| 330 335 | 
             
                @headers = self.class.headers.dup
         | 
| 331 336 | 
             
                @values_for = self.class.values_for.dup
         | 
| 332 337 | 
             
                @debug = self.class.debug
         | 
| @@ -357,6 +362,7 @@ class NiceHttp | |
| 357 362 | 
             
                  @host = args[:host] if args.keys.include?(:host)
         | 
| 358 363 | 
             
                  @port = args[:port] if args.keys.include?(:port)
         | 
| 359 364 | 
             
                  @ssl = args[:ssl] if args.keys.include?(:ssl)
         | 
| 365 | 
            +
                  @timeout = args[:timeout] if args.keys.include?(:timeout)
         | 
| 360 366 | 
             
                  @headers = args[:headers].dup if args.keys.include?(:headers)
         | 
| 361 367 | 
             
                  @values_for = args[:values_for].dup if args.keys.include?(:values_for)
         | 
| 362 368 | 
             
                  @debug = args[:debug] if args.keys.include?(:debug)
         | 
| @@ -452,6 +458,7 @@ class NiceHttp | |
| 452 458 | 
             
                raise InfoMissing, :port if @port.to_s == ""
         | 
| 453 459 | 
             
                raise InfoMissing, :host if @host.to_s == ""
         | 
| 454 460 | 
             
                raise InfoMissing, :ssl unless @ssl.is_a?(TrueClass) or @ssl.is_a?(FalseClass)
         | 
| 461 | 
            +
                raise InfoMissing, :timeout unless @timeout.is_a?(Integer) or @timeout.nil?
         | 
| 455 462 | 
             
                raise InfoMissing, :debug unless @debug.is_a?(TrueClass) or @debug.is_a?(FalseClass)
         | 
| 456 463 | 
             
                raise InfoMissing, :auto_redirect unless auto_redirect.is_a?(TrueClass) or auto_redirect.is_a?(FalseClass)
         | 
| 457 464 | 
             
                raise InfoMissing, :use_mocks unless @use_mocks.is_a?(TrueClass) or @use_mocks.is_a?(FalseClass)
         | 
| @@ -465,18 +472,26 @@ class NiceHttp | |
| 465 472 | 
             
                    @http.use_ssl = @ssl
         | 
| 466 473 | 
             
                    @http.set_debug_output $stderr if @debug
         | 
| 467 474 | 
             
                    @http.verify_mode = OpenSSL::SSL::VERIFY_NONE
         | 
| 475 | 
            +
                    unless @timeout.nil?
         | 
| 476 | 
            +
                      @http.open_timeout = @timeout
         | 
| 477 | 
            +
                      @http.read_timeout = @timeout
         | 
| 478 | 
            +
                    end
         | 
| 468 479 | 
             
                    @http.start
         | 
| 469 480 | 
             
                  else
         | 
| 470 481 | 
             
                    @http = Net::HTTP.new(@host, @port)
         | 
| 471 482 | 
             
                    @http.use_ssl = @ssl
         | 
| 472 483 | 
             
                    @http.set_debug_output $stderr if @debug
         | 
| 473 484 | 
             
                    @http.verify_mode = OpenSSL::SSL::VERIFY_NONE
         | 
| 485 | 
            +
                    unless @timeout.nil?
         | 
| 486 | 
            +
                      @http.open_timeout = @timeout
         | 
| 487 | 
            +
                      @http.read_timeout = @timeout
         | 
| 488 | 
            +
                    end
         | 
| 474 489 | 
             
                    @http.start
         | 
| 475 490 | 
             
                  end
         | 
| 476 491 |  | 
| 477 492 | 
             
                  @message_server = "(#{self.object_id}):"
         | 
| 478 493 |  | 
| 479 | 
            -
                  log_message = "(#{self.object_id}): Http connection created. host:#{@host},  port:#{@port},  ssl:#{@ssl}, mode:#{@mode}, proxy_host: #{@proxy_host.to_s()}, proxy_port: #{@proxy_port.to_s()} "
         | 
| 494 | 
            +
                  log_message = "(#{self.object_id}): Http connection created. host:#{@host},  port:#{@port},  ssl:#{@ssl}, timeout:#{@timeout}, mode:#{@mode}, proxy_host: #{@proxy_host.to_s()}, proxy_port: #{@proxy_port.to_s()} "
         | 
| 480 495 |  | 
| 481 496 | 
             
                  @logger.info(log_message)
         | 
| 482 497 | 
             
                  @message_server += " Http connection: "
         | 
| @@ -499,6 +514,7 @@ class NiceHttp | |
| 499 514 | 
             
                rescue Exception => stack
         | 
| 500 515 | 
             
                  puts stack
         | 
| 501 516 | 
             
                  @logger.fatal stack
         | 
| 517 | 
            +
                  raise stack
         | 
| 502 518 | 
             
                end
         | 
| 503 519 | 
             
              end
         | 
| 504 520 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,35 +1,35 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: nice_http
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.8. | 
| 4 | 
            +
              version: 1.8.7
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Mario Ruiz
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2020- | 
| 11 | 
            +
            date: 2020-10-13 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: nice_hash
         | 
| 15 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 16 | 
             
                requirements:
         | 
| 17 | 
            -
                - - "~>"
         | 
| 18 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: '1.15'
         | 
| 20 17 | 
             
                - - ">="
         | 
| 21 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 22 | 
            -
                    version: 1. | 
| 19 | 
            +
                    version: '1.17'
         | 
| 20 | 
            +
                - - "~>"
         | 
| 21 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 22 | 
            +
                    version: '1.17'
         | 
| 23 23 | 
             
              type: :runtime
         | 
| 24 24 | 
             
              prerelease: false
         | 
| 25 25 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 26 26 | 
             
                requirements:
         | 
| 27 | 
            -
                - - "~>"
         | 
| 28 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 29 | 
            -
                    version: '1.15'
         | 
| 30 27 | 
             
                - - ">="
         | 
| 31 28 | 
             
                  - !ruby/object:Gem::Version
         | 
| 32 | 
            -
                    version: 1. | 
| 29 | 
            +
                    version: '1.17'
         | 
| 30 | 
            +
                - - "~>"
         | 
| 31 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 32 | 
            +
                    version: '1.17'
         | 
| 33 33 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 34 34 | 
             
              name: rspec
         | 
| 35 35 | 
             
              requirement: !ruby/object:Gem::Requirement
         |