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

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

+ (Object) category

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



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

def self.category
  'Navigation'
end

+ (Object) help

Returns the help text for the history command.



26
27
28
# File 'lib/htty/cli/commands/history_verbose.rb', line 26

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

+ (Object) help_extended

Returns the extended help text for the history command.



31
32
33
34
35
36
# File 'lib/htty/cli/commands/history_verbose.rb', line 31

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

+ (Object) see_also_commands

Returns related command classes for the history-verbose command.



39
40
41
# File 'lib/htty/cli/commands/history_verbose.rb', line 39

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

Instance Method Details

- (Object) perform

Performs the history-verbose command.



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
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/htty/cli/commands/history_verbose.rb', line 44

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