htty 1.5.5 → 1.5.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/History.markdown +7 -0
- data/lib/htty.rb +3 -1
- data/lib/htty/cli/commands/help.rb +1 -6
- data/lib/htty/cli/commands/path_set.rb +6 -6
- data/lib/htty/cli/commands/query_add.rb +1 -0
- data/lib/htty/cli/commands/query_set.rb +1 -0
- data/lib/htty/cli/display.rb +4 -3
- data/lib/htty/cli/http_method_command.rb +1 -0
- data/lib/htty/requests_util.rb +9 -2
- data/lib/htty/response.rb +5 -1
- data/lib/htty/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: bef059d23fabb8977b1c724590cd62bc1a164a4a
         | 
| 4 | 
            +
              data.tar.gz: 08bb998dbc5f51f8f102ec0b0917b6efd114e046
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 1245d3eac192a6abdcfcefe47b881ce9dfa2ad8553e1b4b536c23e2da540ae1d75224d9a33e1a8a28b23ea93d7b5538d6011942921953e78ba59db1681b0cdb0
         | 
| 7 | 
            +
              data.tar.gz: c0e6f2da76971ed227013b3a8f3c81b2b2f999cbbc2b38d35c6e28c1c3507faf65705cee98758179fbb9d03d8b1fa48ef804356414691995bcbffe46393ddc9c
         | 
    
        data/History.markdown
    CHANGED
    
    | @@ -1,6 +1,13 @@ | |
| 1 1 | 
             
            Version history for the _htty_ project
         | 
| 2 2 | 
             
            ======================================
         | 
| 3 3 |  | 
| 4 | 
            +
            <a name="v1.5.7"></a>v1.5.7, Thu 12/10/2015
         | 
| 5 | 
            +
            -------------------------------------------
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            * Added response benchmarking [[presskey](http://github.com/presskey "presskey at GitHub")]
         | 
| 8 | 
            +
            * Fixed bugs in server certificate verification under Ruby v2
         | 
| 9 | 
            +
            * Fixed a bug in validation of arguments to the `path-set` command
         | 
| 10 | 
            +
             | 
| 4 11 | 
             
            <a name="v1.5.5"></a>v1.5.5, Tue 10/20/2015
         | 
| 5 12 | 
             
            -------------------------------------------
         | 
| 6 13 |  | 
    
        data/lib/htty.rb
    CHANGED
    
    
| @@ -25,12 +25,7 @@ class HTTY::CLI::Commands::Help < HTTY::CLI::Command | |
| 25 25 | 
             
              def perform
         | 
| 26 26 | 
             
                return display_help if arguments.empty?
         | 
| 27 27 |  | 
| 28 | 
            -
                 | 
| 29 | 
            -
                  raise ArgumentError,
         | 
| 30 | 
            -
                        "wrong number of arguments (#{arguments.length} for 1)"
         | 
| 31 | 
            -
                end
         | 
| 32 | 
            -
             | 
| 33 | 
            -
                display_help_for arguments.first
         | 
| 28 | 
            +
                display_help_for(*arguments)
         | 
| 34 29 | 
             
              end
         | 
| 35 30 |  | 
| 36 31 | 
             
            private
         | 
| @@ -37,18 +37,18 @@ class HTTY::CLI::Commands::PathSet < HTTY::CLI::Command | |
| 37 37 | 
             
              end
         | 
| 38 38 |  | 
| 39 39 | 
             
              def self.sanitize_arguments(arguments)
         | 
| 40 | 
            -
                 | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
                 | 
| 40 | 
            +
                arguments.collect do |argument|
         | 
| 41 | 
            +
                  path_components = argument.split('/')
         | 
| 42 | 
            +
                  escaped_components = escape_or_warn_of_escape_sequences(path_components)
         | 
| 43 | 
            +
                  escaped_components.join '/'
         | 
| 44 | 
            +
                end
         | 
| 45 45 | 
             
              end
         | 
| 46 46 |  | 
| 47 47 | 
             
              # Performs the _path-set_ command.
         | 
| 48 48 | 
             
              def perform
         | 
| 49 49 | 
             
                add_request_if_new do |request|
         | 
| 50 50 | 
             
                  self.class.notify_if_cookies_cleared request do
         | 
| 51 | 
            -
                    request.path_set(arguments | 
| 51 | 
            +
                    request.path_set(*arguments)
         | 
| 52 52 | 
             
                  end
         | 
| 53 53 | 
             
                end
         | 
| 54 54 | 
             
              end
         | 
| @@ -51,6 +51,7 @@ class HTTY::CLI::Commands::QueryAdd < HTTY::CLI::Command | |
| 51 51 | 
             
                if arguments.empty?
         | 
| 52 52 | 
             
                  raise ArgumentError, 'wrong number of arguments (0 for N)'
         | 
| 53 53 | 
             
                end
         | 
| 54 | 
            +
             | 
| 54 55 | 
             
                add_request_if_new do |request|
         | 
| 55 56 | 
             
                  self.class.notify_if_cookies_cleared request do
         | 
| 56 57 | 
             
                    escaped_arguments = escape_or_warn_of_escape_sequences(arguments)
         | 
| @@ -51,6 +51,7 @@ class HTTY::CLI::Commands::QuerySet < HTTY::CLI::Command | |
| 51 51 | 
             
                if arguments.empty?
         | 
| 52 52 | 
             
                  raise ArgumentError, 'wrong number of arguments (0 for N)'
         | 
| 53 53 | 
             
                end
         | 
| 54 | 
            +
             | 
| 54 55 | 
             
                add_request_if_new do |request|
         | 
| 55 56 | 
             
                  self.class.notify_if_cookies_cleared request do
         | 
| 56 57 | 
             
                    escaped_arguments = escape_or_warn_of_escape_sequences(arguments)
         | 
    
        data/lib/htty/cli/display.rb
    CHANGED
    
    | @@ -153,11 +153,12 @@ module HTTY::CLI::Display | |
| 153 153 | 
             
                end
         | 
| 154 154 | 
             
                print ' '
         | 
| 155 155 | 
             
                cookies_asterisk = response.cookies.empty? ? '' : strong('*')
         | 
| 156 | 
            -
                body_length | 
| 157 | 
            -
                body_size | 
| 156 | 
            +
                body_length      = response.body.to_s.length
         | 
| 157 | 
            +
                body_size        = body_length.zero? ? 'empty' : "#{body_length}-character"
         | 
| 158 | 
            +
                response_time_ms = (response.time * 1000).round(2)
         | 
| 158 159 | 
             
                puts([description,
         | 
| 159 160 | 
             
                      pluralize('header', response.headers.length) + cookies_asterisk,
         | 
| 160 | 
            -
                      "#{body_size} body"].join(' -- '))
         | 
| 161 | 
            +
                      "#{body_size} body", "#{response_time_ms} ms"].join(' -- '))
         | 
| 161 162 | 
             
              end
         | 
| 162 163 |  | 
| 163 164 | 
             
              def strong(string)
         | 
    
        data/lib/htty/requests_util.rb
    CHANGED
    
    | @@ -1,6 +1,8 @@ | |
| 1 | 
            +
            require 'benchmark'
         | 
| 1 2 | 
             
            require 'htty'
         | 
| 2 3 | 
             
            require 'net/http'
         | 
| 3 4 | 
             
            require 'net/https'
         | 
| 5 | 
            +
            require 'openssl'
         | 
| 4 6 | 
             
            require 'uri'
         | 
| 5 7 |  | 
| 6 8 | 
             
            # Provides support for making HTTP(S) requests.
         | 
| @@ -89,7 +91,11 @@ private | |
| 89 91 | 
             
                end
         | 
| 90 92 |  | 
| 91 93 | 
             
                http.start do |host|
         | 
| 92 | 
            -
                  http_response =  | 
| 94 | 
            +
                  http_response = nil
         | 
| 95 | 
            +
                  response_time = Benchmark.realtime do
         | 
| 96 | 
            +
                    http_response = yield(host)
         | 
| 97 | 
            +
                  end
         | 
| 98 | 
            +
             | 
| 93 99 | 
             
                  headers = []
         | 
| 94 100 | 
             
                  http_response.canonical_each do |*h|
         | 
| 95 101 | 
             
                    headers << h
         | 
| @@ -97,7 +103,8 @@ private | |
| 97 103 | 
             
                  request.send :response=,
         | 
| 98 104 | 
             
                               HTTY::Response.new(:status  => http_response_to_status(http_response),
         | 
| 99 105 | 
             
                                                  :headers => headers,
         | 
| 100 | 
            -
                                                  :body    => http_response.body | 
| 106 | 
            +
                                                  :body    => http_response.body,
         | 
| 107 | 
            +
                                                  :time    => response_time)
         | 
| 101 108 | 
             
                end
         | 
| 102 109 | 
             
                request
         | 
| 103 110 | 
             
              end
         | 
    
        data/lib/htty/response.rb
    CHANGED
    
    | @@ -9,6 +9,9 @@ class HTTY::Response < HTTY::Payload | |
| 9 9 | 
             
              # Returns the HTTP status associated with the response.
         | 
| 10 10 | 
             
              attr_reader :status
         | 
| 11 11 |  | 
| 12 | 
            +
              # Returns a benchmark time to receive the response.
         | 
| 13 | 
            +
              attr_reader :time
         | 
| 14 | 
            +
             | 
| 12 15 | 
             
              # Initializes a new HTTY::Response with attribute values specified in the
         | 
| 13 16 | 
             
              # _attributes_ hash.
         | 
| 14 17 | 
             
              #
         | 
| @@ -19,7 +22,8 @@ class HTTY::Response < HTTY::Payload | |
| 19 22 | 
             
              # * <tt>:status</tt>
         | 
| 20 23 | 
             
              def initialize(attributes={})
         | 
| 21 24 | 
             
                super attributes
         | 
| 22 | 
            -
                @status | 
| 25 | 
            +
                @status           = attributes[:status]
         | 
| 26 | 
            +
                @time             = attributes[:time]
         | 
| 23 27 | 
             
                @already_followed = false
         | 
| 24 28 | 
             
              end
         | 
| 25 29 |  | 
    
        data/lib/htty/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: htty
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.5. | 
| 4 | 
            +
              version: 1.5.7
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Nils Jonsson
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2015-10 | 
| 11 | 
            +
            date: 2015-12-10 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: mime-types
         |