Class: HTTY::CLI::Commands::HistoryVerbose

Inherits:
HTTY::CLI::Command show all
Includes:
Display
Defined in:
lib/htty/cli/commands/history_verbose.rb

Overview

Encapsulates the history-verbose command.

Constant Summary

Constants included from Display

Display::FORMATS

Instance Attribute Summary

Attributes inherited from HTTY::CLI::Command

#arguments, #session

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Display

#break, #format, #formatted_prompt_for, #indent, #logotype, #normal, #notice, #pluralize, #rescuing_from, #say, #say_goodbye, #say_header, #say_hello, #show_headers, #show_request, #show_response, #strong, #word_wrap, #word_wrap_indented

Methods inherited from HTTY::CLI::Command

#add_request_if_new, alias_for, aliases, build_for, command_line, command_line_arguments, complete_for?, #initialize, notify_if_cookies_cleared, raw_name, sanitize_arguments

Constructor Details

This class inherits a constructor from HTTY::CLI::Command

Class Method Details

.categoryObject

Returns the name of a category under which help for the history-verbose command should appear.



10
11
12
# File 'lib/htty/cli/commands/history_verbose.rb', line 10

def self.category
  'Navigation'
end

.helpObject

Returns the help text for the history command.



15
16
17
# File 'lib/htty/cli/commands/history_verbose.rb', line 15

def self.help
  'Displays the details of previous request-response activity in this session'
end

.help_extendedObject

Returns the extended help text for the history command.



20
21
22
23
24
25
# File 'lib/htty/cli/commands/history_verbose.rb', line 20

def self.help_extended
  'Displays the details of previous request-response activity in this ' +
  "session. Does not communicate with the host.\n"                      +
  "\n"                                                                  +
  'All headers and body content of each request-response pair are shown.'
end

.see_also_commandsObject

Returns related command classes for the history-verbose command.



28
29
30
# File 'lib/htty/cli/commands/history_verbose.rb', line 28

def self.see_also_commands
  [HTTY::CLI::Commands::History, HTTY::CLI::Commands::Reuse]
end

Instance Method Details

#performObject

Performs the history-verbose command.



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/htty/cli/commands/history_verbose.rb', line 33

def perform
  requests = session.requests
  number_width = Math.log10(requests.length).to_i + 1
  displayed_one = false
  requests.each_with_index do |request, index|
    next unless request.response

    puts(strong('-' * 80)) if displayed_one
    displayed_one = true

    number = (index + 1).to_s.rjust(number_width)
    print "#{strong number} "
    show_request request

    puts unless request.headers.empty?
    show_headers request.headers,
                 :show_asterisk_next_to => HTTY::Request::COOKIES_HEADER_NAME,
                 :show_mercantile_next_to => HTTY::Request::AUTHORIZATION_HEADER_NAME

    unless request.body.to_s.empty?
      puts
      puts request.body
    end

    puts
    show_response request.response

    puts unless request.response.headers.empty?
    show_headers request.response.headers,
                 :show_asterisk_next_to => HTTY::Response::COOKIES_HEADER_NAME

    unless request.response.body.to_s.empty?
      puts
      puts request.response.body
    end
  end
end