htty 1.0.0
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.
- data/MIT-LICENSE.rdoc +9 -0
- data/README.rdoc +199 -0
- data/VERSION +1 -0
- data/app/htty.rb +14 -0
- data/app/htty/cli.rb +77 -0
- data/app/htty/cli/command.rb +185 -0
- data/app/htty/cli/commands.rb +43 -0
- data/app/htty/cli/commands/address.rb +84 -0
- data/app/htty/cli/commands/body_clear.rb +20 -0
- data/app/htty/cli/commands/body_request.rb +51 -0
- data/app/htty/cli/commands/body_response.rb +59 -0
- data/app/htty/cli/commands/body_set.rb +58 -0
- data/app/htty/cli/commands/body_unset.rb +45 -0
- data/app/htty/cli/commands/cd.rb +20 -0
- data/app/htty/cli/commands/cookie_add.rb +20 -0
- data/app/htty/cli/commands/cookie_remove.rb +20 -0
- data/app/htty/cli/commands/cookies.rb +68 -0
- data/app/htty/cli/commands/cookies_add.rb +62 -0
- data/app/htty/cli/commands/cookies_clear.rb +20 -0
- data/app/htty/cli/commands/cookies_remove.rb +60 -0
- data/app/htty/cli/commands/cookies_remove_all.rb +50 -0
- data/app/htty/cli/commands/cookies_use.rb +57 -0
- data/app/htty/cli/commands/delete.rb +20 -0
- data/app/htty/cli/commands/exit.rb +20 -0
- data/app/htty/cli/commands/follow.rb +56 -0
- data/app/htty/cli/commands/form.rb +20 -0
- data/app/htty/cli/commands/form_add.rb +20 -0
- data/app/htty/cli/commands/form_clear.rb +26 -0
- data/app/htty/cli/commands/form_remove.rb +20 -0
- data/app/htty/cli/commands/form_remove_all.rb +20 -0
- data/app/htty/cli/commands/fragment_clear.rb +20 -0
- data/app/htty/cli/commands/fragment_set.rb +59 -0
- data/app/htty/cli/commands/fragment_unset.rb +48 -0
- data/app/htty/cli/commands/get.rb +20 -0
- data/app/htty/cli/commands/header_set.rb +20 -0
- data/app/htty/cli/commands/header_unset.rb +20 -0
- data/app/htty/cli/commands/headers_clear.rb +20 -0
- data/app/htty/cli/commands/headers_request.rb +70 -0
- data/app/htty/cli/commands/headers_response.rb +65 -0
- data/app/htty/cli/commands/headers_set.rb +57 -0
- data/app/htty/cli/commands/headers_unset.rb +54 -0
- data/app/htty/cli/commands/headers_unset_all.rb +48 -0
- data/app/htty/cli/commands/help.rb +100 -0
- data/app/htty/cli/commands/history.rb +60 -0
- data/app/htty/cli/commands/history_verbose.rb +81 -0
- data/app/htty/cli/commands/host_set.rb +59 -0
- data/app/htty/cli/commands/http_delete.rb +40 -0
- data/app/htty/cli/commands/http_get.rb +42 -0
- data/app/htty/cli/commands/http_head.rb +36 -0
- data/app/htty/cli/commands/http_options.rb +36 -0
- data/app/htty/cli/commands/http_post.rb +34 -0
- data/app/htty/cli/commands/http_put.rb +29 -0
- data/app/htty/cli/commands/http_trace.rb +36 -0
- data/app/htty/cli/commands/path_set.rb +54 -0
- data/app/htty/cli/commands/port_set.rb +55 -0
- data/app/htty/cli/commands/post.rb +20 -0
- data/app/htty/cli/commands/put.rb +20 -0
- data/app/htty/cli/commands/query_clear.rb +20 -0
- data/app/htty/cli/commands/query_set.rb +59 -0
- data/app/htty/cli/commands/query_unset.rb +56 -0
- data/app/htty/cli/commands/query_unset_all.rb +50 -0
- data/app/htty/cli/commands/quit.rb +24 -0
- data/app/htty/cli/commands/reuse.rb +74 -0
- data/app/htty/cli/commands/scheme_set.rb +69 -0
- data/app/htty/cli/commands/status.rb +52 -0
- data/app/htty/cli/commands/undo.rb +13 -0
- data/app/htty/cli/commands/userinfo_clear.rb +20 -0
- data/app/htty/cli/commands/userinfo_set.rb +56 -0
- data/app/htty/cli/commands/userinfo_unset.rb +47 -0
- data/app/htty/cli/cookie_clearing_command.rb +26 -0
- data/app/htty/cli/display.rb +182 -0
- data/app/htty/cli/http_method_command.rb +75 -0
- data/app/htty/cli/url_escaping.rb +27 -0
- data/app/htty/cookies_util.rb +36 -0
- data/app/htty/no_location_header_error.rb +12 -0
- data/app/htty/no_response_error.rb +12 -0
- data/app/htty/no_set_cookie_header_error.rb +13 -0
- data/app/htty/ordered_hash.rb +69 -0
- data/app/htty/payload.rb +48 -0
- data/app/htty/request.rb +471 -0
- data/app/htty/requests_util.rb +92 -0
- data/app/htty/response.rb +34 -0
- data/app/htty/session.rb +29 -0
- data/bin/htty +5 -0
- data/spec/unit/htty/cli_spec.rb +27 -0
- data/spec/unit/htty/ordered_hash_spec.rb +54 -0
- data/spec/unit/htty/request_spec.rb +1236 -0
- data/spec/unit/htty/response_spec.rb +0 -0
- data/spec/unit/htty/session_spec.rb +13 -0
- metadata +158 -0
@@ -0,0 +1,20 @@
|
|
1
|
+
# Defines HTTY::CLI::Commands::FormRemoveAll.
|
2
|
+
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../command")
|
4
|
+
|
5
|
+
module HTTY; end
|
6
|
+
|
7
|
+
class HTTY::CLI; end
|
8
|
+
|
9
|
+
module HTTY::CLI::Commands; end
|
10
|
+
|
11
|
+
# Encapsulates the _form-remove-all_ command.
|
12
|
+
class HTTY::CLI::Commands::FormRemoveAll < HTTY::CLI::Command
|
13
|
+
|
14
|
+
# Returns the name of a category under which help for the _form-remove-all_
|
15
|
+
# command should appear.
|
16
|
+
def self.category
|
17
|
+
'Building Requests'
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# Defines HTTY::CLI::Commands::FragmentClear.
|
2
|
+
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../command")
|
4
|
+
require File.expand_path("#{File.dirname __FILE__}/fragment_unset")
|
5
|
+
|
6
|
+
module HTTY; end
|
7
|
+
|
8
|
+
class HTTY::CLI; end
|
9
|
+
|
10
|
+
module HTTY::CLI::Commands; end
|
11
|
+
|
12
|
+
# Encapsulates the _fragment-clear_ command.
|
13
|
+
class HTTY::CLI::Commands::FragmentClear < HTTY::CLI::Command
|
14
|
+
|
15
|
+
# Returns the command that the _fragment-clear_ command is an alias for.
|
16
|
+
def self.alias_for
|
17
|
+
HTTY::CLI::Commands::FragmentUnset
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# Defines HTTY::CLI::Commands::FragmentSet.
|
2
|
+
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../command")
|
4
|
+
require File.expand_path("#{File.dirname __FILE__}/../url_escaping")
|
5
|
+
require File.expand_path("#{File.dirname __FILE__}/address")
|
6
|
+
require File.expand_path("#{File.dirname __FILE__}/fragment_unset")
|
7
|
+
|
8
|
+
module HTTY; end
|
9
|
+
|
10
|
+
class HTTY::CLI; end
|
11
|
+
|
12
|
+
module HTTY::CLI::Commands; end
|
13
|
+
|
14
|
+
# Encapsulates the _fragment-set_ command.
|
15
|
+
class HTTY::CLI::Commands::FragmentSet < HTTY::CLI::Command
|
16
|
+
|
17
|
+
include HTTY::CLI::UrlEscaping
|
18
|
+
|
19
|
+
# Returns the name of a category under which help for the _fragment-set_
|
20
|
+
# command should appear.
|
21
|
+
def self.category
|
22
|
+
'Navigation'
|
23
|
+
end
|
24
|
+
|
25
|
+
# Returns the arguments for the command-line usage of the _fragment-set_ command.
|
26
|
+
def self.command_line_arguments
|
27
|
+
'fragment'
|
28
|
+
end
|
29
|
+
|
30
|
+
# Returns the help text for the _fragment-set_ command.
|
31
|
+
def self.help
|
32
|
+
"Sets the fragment of the request's address"
|
33
|
+
end
|
34
|
+
|
35
|
+
# Returns the extended help text for the _fragment-set_ command.
|
36
|
+
def self.help_extended
|
37
|
+
'Sets the page fragment used for the request. Does not communicate with ' +
|
38
|
+
"the endpoint.\n" +
|
39
|
+
"\n" +
|
40
|
+
'The console prompt shows the address for the current request.'
|
41
|
+
end
|
42
|
+
|
43
|
+
# Returns related command classes for the _fragment-set_ command.
|
44
|
+
def self.see_also_commands
|
45
|
+
[HTTY::CLI::Commands::FragmentUnset,
|
46
|
+
HTTY::CLI::Commands::Address]
|
47
|
+
end
|
48
|
+
|
49
|
+
# Performs the _fragment-set_ command.
|
50
|
+
def perform
|
51
|
+
add_request_if_has_response do |request|
|
52
|
+
clean_arguments = arguments.collect do |a|
|
53
|
+
a.gsub(/^#/, '')
|
54
|
+
end
|
55
|
+
request.fragment_set(*escape_or_warn_of_escape_sequences(clean_arguments))
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# Defines HTTY::CLI::Commands::FragmentUnset.
|
2
|
+
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../command")
|
4
|
+
require File.expand_path("#{File.dirname __FILE__}/address")
|
5
|
+
require File.expand_path("#{File.dirname __FILE__}/fragment_set")
|
6
|
+
|
7
|
+
module HTTY; end
|
8
|
+
|
9
|
+
class HTTY::CLI; end
|
10
|
+
|
11
|
+
module HTTY::CLI::Commands; end
|
12
|
+
|
13
|
+
# Encapsulates the _fragment-unset_ command.
|
14
|
+
class HTTY::CLI::Commands::FragmentUnset < HTTY::CLI::Command
|
15
|
+
|
16
|
+
# Returns the name of a category under which help for the _fragment-unset_
|
17
|
+
# command should appear.
|
18
|
+
def self.category
|
19
|
+
'Navigation'
|
20
|
+
end
|
21
|
+
|
22
|
+
# Returns the help text for the _fragment-unset_ command.
|
23
|
+
def self.help
|
24
|
+
"Removes the fragment from the request's address"
|
25
|
+
end
|
26
|
+
|
27
|
+
# Returns the extended help text for the _fragment-unset_ command.
|
28
|
+
def self.help_extended
|
29
|
+
'Removes the page fragment used for the request. Does not communicate ' +
|
30
|
+
"with the endpoint.\n" +
|
31
|
+
"\n" +
|
32
|
+
'The console prompt shows the address for the current request.'
|
33
|
+
end
|
34
|
+
|
35
|
+
# Returns related command classes for the _fragment-unset_ command.
|
36
|
+
def self.see_also_commands
|
37
|
+
[HTTY::CLI::Commands::FragmentSet,
|
38
|
+
HTTY::CLI::Commands::Address]
|
39
|
+
end
|
40
|
+
|
41
|
+
# Performs the _fragment-unset_ command.
|
42
|
+
def perform
|
43
|
+
add_request_if_has_response do |request|
|
44
|
+
request.fragment_unset(*arguments)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# Defines HTTY::CLI::Commands::Get.
|
2
|
+
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../command")
|
4
|
+
require File.expand_path("#{File.dirname __FILE__}/http_get")
|
5
|
+
|
6
|
+
module HTTY; end
|
7
|
+
|
8
|
+
class HTTY::CLI; end
|
9
|
+
|
10
|
+
module HTTY::CLI::Commands; end
|
11
|
+
|
12
|
+
# Encapsulates the _get_ command.
|
13
|
+
class HTTY::CLI::Commands::Get < HTTY::CLI::Command
|
14
|
+
|
15
|
+
# Returns the command that the _get_ command is an alias for.
|
16
|
+
def self.alias_for
|
17
|
+
HTTY::CLI::Commands::HttpGet
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# Defines HTTY::CLI::Commands::HeaderSet.
|
2
|
+
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../command")
|
4
|
+
require File.expand_path("#{File.dirname __FILE__}/headers_set")
|
5
|
+
|
6
|
+
module HTTY; end
|
7
|
+
|
8
|
+
class HTTY::CLI; end
|
9
|
+
|
10
|
+
module HTTY::CLI::Commands; end
|
11
|
+
|
12
|
+
# Encapsulates the _header-set_ command.
|
13
|
+
class HTTY::CLI::Commands::HeaderSet < HTTY::CLI::Command
|
14
|
+
|
15
|
+
# Returns the command that the _header-set_ command is an alias for.
|
16
|
+
def self.alias_for
|
17
|
+
HTTY::CLI::Commands::HeadersSet
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# Defines HTTY::CLI::Commands::HeaderUnset.
|
2
|
+
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../command")
|
4
|
+
require File.expand_path("#{File.dirname __FILE__}/headers_unset")
|
5
|
+
|
6
|
+
module HTTY; end
|
7
|
+
|
8
|
+
class HTTY::CLI; end
|
9
|
+
|
10
|
+
module HTTY::CLI::Commands; end
|
11
|
+
|
12
|
+
# Encapsulates the _header-unset_ command.
|
13
|
+
class HTTY::CLI::Commands::HeaderUnset < HTTY::CLI::Command
|
14
|
+
|
15
|
+
# Returns the command that the _header-unset_ command is an alias for.
|
16
|
+
def self.alias_for
|
17
|
+
HTTY::CLI::Commands::HeadersUnset
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# Defines HTTY::CLI::Commands::HeadersClear.
|
2
|
+
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../command")
|
4
|
+
require File.expand_path("#{File.dirname __FILE__}/headers_unset_all")
|
5
|
+
|
6
|
+
module HTTY; end
|
7
|
+
|
8
|
+
class HTTY::CLI; end
|
9
|
+
|
10
|
+
module HTTY::CLI::Commands; end
|
11
|
+
|
12
|
+
# Encapsulates the _headers-clear_ command.
|
13
|
+
class HTTY::CLI::Commands::HeadersClear < HTTY::CLI::Command
|
14
|
+
|
15
|
+
# Returns the command that the _headers-clear_ command is an alias for.
|
16
|
+
def self.alias_for
|
17
|
+
HTTY::CLI::Commands::HeadersUnsetAll
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# Defines HTTY::CLI::Commands::HeadersRequest.
|
2
|
+
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../../request")
|
4
|
+
require File.expand_path("#{File.dirname __FILE__}/../command")
|
5
|
+
require File.expand_path("#{File.dirname __FILE__}/../display")
|
6
|
+
require File.expand_path("#{File.dirname __FILE__}/body_request")
|
7
|
+
require File.expand_path("#{File.dirname __FILE__}/cookies")
|
8
|
+
require File.expand_path("#{File.dirname __FILE__}/headers_response")
|
9
|
+
require File.expand_path("#{File.dirname __FILE__}/headers_set")
|
10
|
+
require File.expand_path("#{File.dirname __FILE__}/headers_unset")
|
11
|
+
require File.expand_path("#{File.dirname __FILE__}/headers_unset_all")
|
12
|
+
|
13
|
+
module HTTY; end
|
14
|
+
|
15
|
+
class HTTY::CLI; end
|
16
|
+
|
17
|
+
module HTTY::CLI::Commands; end
|
18
|
+
|
19
|
+
# Encapsulates the _headers-request_ command.
|
20
|
+
class HTTY::CLI::Commands::HeadersRequest < HTTY::CLI::Command
|
21
|
+
|
22
|
+
include HTTY::CLI::Display
|
23
|
+
|
24
|
+
# Returns the name of a category under which help for the _headers-request_
|
25
|
+
# command should appear.
|
26
|
+
def self.category
|
27
|
+
'Building Requests'
|
28
|
+
end
|
29
|
+
|
30
|
+
# Returns the help text for the _headers-request_ command.
|
31
|
+
def self.help
|
32
|
+
'Displays the headers of the request'
|
33
|
+
end
|
34
|
+
|
35
|
+
# Returns the extended help text for the _headers-request_ command.
|
36
|
+
def self.help_extended
|
37
|
+
'Displays the headers used for the request. Does not communicate with ' +
|
38
|
+
"the endpoint.\n" +
|
39
|
+
"\n" +
|
40
|
+
'Headers must have unique names. When you set a header that already ' +
|
41
|
+
'exists, its value will be changed.'
|
42
|
+
end
|
43
|
+
|
44
|
+
# Returns related command classes for the _headers-request_ command.
|
45
|
+
def self.see_also_commands
|
46
|
+
[HTTY::CLI::Commands::HeadersSet,
|
47
|
+
HTTY::CLI::Commands::HeadersUnset,
|
48
|
+
HTTY::CLI::Commands::HeadersUnsetAll,
|
49
|
+
HTTY::CLI::Commands::BodyRequest,
|
50
|
+
HTTY::CLI::Commands::Cookies,
|
51
|
+
HTTY::CLI::Commands::HeadersResponse]
|
52
|
+
end
|
53
|
+
|
54
|
+
# Performs the _headers-request_ command.
|
55
|
+
def perform
|
56
|
+
request = session.requests.last
|
57
|
+
headers = if request.request_method.nil?
|
58
|
+
if request.body.to_s.length.zero?
|
59
|
+
request.headers false
|
60
|
+
else
|
61
|
+
request.headers true
|
62
|
+
end
|
63
|
+
else
|
64
|
+
request.headers
|
65
|
+
end
|
66
|
+
show_headers headers, HTTY::Request::COOKIES_HEADER_NAME
|
67
|
+
self
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# Defines HTTY::CLI::Commands::HeadersResponse.
|
2
|
+
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../../response")
|
4
|
+
require File.expand_path("#{File.dirname __FILE__}/../../no_response_error")
|
5
|
+
require File.expand_path("#{File.dirname __FILE__}/../command")
|
6
|
+
require File.expand_path("#{File.dirname __FILE__}/../display")
|
7
|
+
require File.expand_path("#{File.dirname __FILE__}/body_response")
|
8
|
+
require File.expand_path("#{File.dirname __FILE__}/cookies")
|
9
|
+
require File.expand_path("#{File.dirname __FILE__}/cookies_use")
|
10
|
+
require File.expand_path("#{File.dirname __FILE__}/headers_request")
|
11
|
+
require File.expand_path("#{File.dirname __FILE__}/status")
|
12
|
+
|
13
|
+
module HTTY; end
|
14
|
+
|
15
|
+
class HTTY::CLI; end
|
16
|
+
|
17
|
+
module HTTY::CLI::Commands; end
|
18
|
+
|
19
|
+
# Encapsulates the _headers-response_ command.
|
20
|
+
class HTTY::CLI::Commands::HeadersResponse < HTTY::CLI::Command
|
21
|
+
|
22
|
+
include HTTY::CLI::Display
|
23
|
+
|
24
|
+
# Returns the name of a category under which help for the _headers-response_
|
25
|
+
# command should appear.
|
26
|
+
def self.category
|
27
|
+
'Inspecting Responses'
|
28
|
+
end
|
29
|
+
|
30
|
+
# Returns the string used to invoke the _headers-response_ command from the
|
31
|
+
# command line.
|
32
|
+
def self.command_line
|
33
|
+
'headers[-response]'
|
34
|
+
end
|
35
|
+
|
36
|
+
# Returns the help text for the _headers-response_ command.
|
37
|
+
def self.help
|
38
|
+
'Displays the headers of the response'
|
39
|
+
end
|
40
|
+
|
41
|
+
# Returns the extended help text for the _headers-response_ command.
|
42
|
+
def self.help_extended
|
43
|
+
'Displays the headers received in the response. Does not communicate ' +
|
44
|
+
'with the endpoint.'
|
45
|
+
end
|
46
|
+
|
47
|
+
# Returns related command classes for the _headers-response_ command.
|
48
|
+
def self.see_also_commands
|
49
|
+
[HTTY::CLI::Commands::BodyResponse,
|
50
|
+
HTTY::CLI::Commands::Cookies,
|
51
|
+
HTTY::CLI::Commands::CookiesUse,
|
52
|
+
HTTY::CLI::Commands::Status,
|
53
|
+
HTTY::CLI::Commands::HeadersRequest]
|
54
|
+
end
|
55
|
+
|
56
|
+
# Performs the _headers-response_ command.
|
57
|
+
def perform
|
58
|
+
unless (response = session.last_response)
|
59
|
+
raise HTTY::NoResponseError
|
60
|
+
end
|
61
|
+
show_headers response.headers, HTTY::Response::COOKIES_HEADER_NAME
|
62
|
+
self
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# Defines HTTY::CLI::Commands::HeadersSet.
|
2
|
+
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../command")
|
4
|
+
require File.expand_path("#{File.dirname __FILE__}/headers_request")
|
5
|
+
require File.expand_path("#{File.dirname __FILE__}/headers_unset")
|
6
|
+
require File.expand_path("#{File.dirname __FILE__}/headers_unset_all")
|
7
|
+
|
8
|
+
module HTTY; end
|
9
|
+
|
10
|
+
class HTTY::CLI; end
|
11
|
+
|
12
|
+
module HTTY::CLI::Commands; end
|
13
|
+
|
14
|
+
# Encapsulates the _headers-set_ command.
|
15
|
+
class HTTY::CLI::Commands::HeadersSet < HTTY::CLI::Command
|
16
|
+
|
17
|
+
# Returns the name of a category under which help for the _headers-set_
|
18
|
+
# command should appear.
|
19
|
+
def self.category
|
20
|
+
'Building Requests'
|
21
|
+
end
|
22
|
+
|
23
|
+
# Returns the arguments for the command-line usage of the _headers-set_
|
24
|
+
# command.
|
25
|
+
def self.command_line_arguments
|
26
|
+
'name value'
|
27
|
+
end
|
28
|
+
|
29
|
+
# Returns the help text for the _headers-set_ command.
|
30
|
+
def self.help
|
31
|
+
'Sets a header of the request'
|
32
|
+
end
|
33
|
+
|
34
|
+
# Returns the extended help text for the _headers-set_ command.
|
35
|
+
def self.help_extended
|
36
|
+
'Sets a header used for the request. Does not communicate with the ' +
|
37
|
+
"endpoint.\n" +
|
38
|
+
"\n" +
|
39
|
+
'Headers must have unique names. When you set a header that already ' +
|
40
|
+
'exists, its value will be changed.'
|
41
|
+
end
|
42
|
+
|
43
|
+
# Returns related command classes for the _headers-set_ command.
|
44
|
+
def self.see_also_commands
|
45
|
+
[HTTY::CLI::Commands::HeadersRequest,
|
46
|
+
HTTY::CLI::Commands::HeadersUnset,
|
47
|
+
HTTY::CLI::Commands::HeadersUnsetAll]
|
48
|
+
end
|
49
|
+
|
50
|
+
# Performs the _headers-set_ command.
|
51
|
+
def perform
|
52
|
+
add_request_if_has_response do |request|
|
53
|
+
request.header_set(*arguments)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# Defines HTTY::CLI::Commands::HeadersUnset.
|
2
|
+
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../command")
|
4
|
+
require File.expand_path("#{File.dirname __FILE__}/headers_request")
|
5
|
+
require File.expand_path("#{File.dirname __FILE__}/headers_set")
|
6
|
+
require File.expand_path("#{File.dirname __FILE__}/headers_unset_all")
|
7
|
+
|
8
|
+
module HTTY; end
|
9
|
+
|
10
|
+
class HTTY::CLI; end
|
11
|
+
|
12
|
+
module HTTY::CLI::Commands; end
|
13
|
+
|
14
|
+
# Encapsulates the _headers-unset_ command.
|
15
|
+
class HTTY::CLI::Commands::HeadersUnset < HTTY::CLI::Command
|
16
|
+
|
17
|
+
# Returns the name of a category under which help for the _headers-unset_
|
18
|
+
# command should appear.
|
19
|
+
def self.category
|
20
|
+
'Building Requests'
|
21
|
+
end
|
22
|
+
|
23
|
+
# Returns the arguments for the command-line usage of the _headers-unset_
|
24
|
+
# command.
|
25
|
+
def self.command_line_arguments
|
26
|
+
'name'
|
27
|
+
end
|
28
|
+
|
29
|
+
# Returns the help text for the _headers-unset_ command.
|
30
|
+
def self.help
|
31
|
+
'Removes a header of the request'
|
32
|
+
end
|
33
|
+
|
34
|
+
# Returns the extended help text for the _headers-unset_ command.
|
35
|
+
def self.help_extended
|
36
|
+
'Removes a header used for the request. Does not communicate with the ' +
|
37
|
+
'endpoint.'
|
38
|
+
end
|
39
|
+
|
40
|
+
# Returns related command classes for the _headers-unset_ command.
|
41
|
+
def self.see_also_commands
|
42
|
+
[HTTY::CLI::Commands::HeadersRequest,
|
43
|
+
HTTY::CLI::Commands::HeadersSet,
|
44
|
+
HTTY::CLI::Commands::HeadersUnsetAll]
|
45
|
+
end
|
46
|
+
|
47
|
+
# Performs the _headers-unset_ command.
|
48
|
+
def perform
|
49
|
+
add_request_if_has_response do |request|
|
50
|
+
request.header_unset(*arguments)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|