@@ -34,67 +34,62 @@ class HTTPHeaderSyntaxError < StandardError; end
34
34
35
35
# \Class \Net::HTTP provides a rich library that implements the client
36
36
# in a client-server model that uses the \HTTP request-response protocol.
37
- # For information about \HTTP, see
37
+ # For information about \HTTP, see:
38
38
#
39
39
# - {Hypertext Transfer Protocol}[https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol].
40
40
# - {Technical overview}[https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Technical_overview].
41
41
#
42
- # Note: If you are performing only a few GET requests, consider using
43
- # {OpenURI}[https://docs.ruby-lang.org/en/master/OpenURI.html];
44
- # otherwise, read on.
45
- #
46
- # == Synopsis
47
- #
48
- # If you are already familiar with \HTTP, this synopsis may be helpful.
49
- #
50
- # {Session}[rdoc-ref:Net::HTTP@Sessions] with multiple requests for
51
- # {HTTP methods}[https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods]:
52
- #
53
- # Net::HTTP.start(hostname) do |http|
54
- # # Session started automatically before block execution.
55
- # http.get(path_or_uri, headers = {})
56
- # http.head(path_or_uri, headers = {})
57
- # http.post(path_or_uri, data, headers = {}) # Can also have a block.
58
- # http.put(path_or_uri, data, headers = {})
59
- # http.delete(path_or_uri, headers = {Depth: 'Infinity'})
60
- # http.options(path_or_uri, headers = {})
61
- # http.trace(path_or_uri, headers = {})
62
- # http.patch(path_or_uri, data, headers = {}) # Can also have a block.
63
- # # Session finished automatically at block exit.
64
- # end
65
- #
66
- # {Session}[rdoc-ref:Net::HTTP@Sessions] with multiple requests for
67
- # {WebDAV methods}[https://en.wikipedia.org/wiki/WebDAV#Implementation]:
68
- #
69
- # Net::HTTP.start(hostname) do |http|
70
- # # Session started automatically before block execution.
71
- # http.copy(path_or_uri, headers = {})
72
- # http.lock(path_or_uri, body, headers = {})
73
- # http.mkcol(path_or_uri, body = nil, headers = {})
74
- # http.move(path_or_uri, headers = {})
75
- # http.propfind(path_or_uri, body = nil, headers = {'Depth' => '0'})
76
- # http.proppatch(path_or_uri, body, headers = {})
77
- # http.unlock(path_or_uri, body, headers = {})
78
- # # Session finished automatically at block exit.
79
- # end
80
- #
81
- # Each of the following methods automatically starts and finishes
82
- # a {session}[rdoc-ref:Net::HTTP@Sessions] that sends a single request:
83
- #
84
- # # Return string response body.
85
- # Net::HTTP.get(hostname, path, port = 80)
86
- # Net::HTTP.get(uri, headers = {}, port = 80)
87
- #
88
- # # Write string response body to $stdout.
89
- # Net::HTTP.get_print(hostname, path_or_uri, port = 80)
90
- # Net::HTTP.get_print(uri, headers = {}, port = 80)
91
- #
92
- # # Return response as Net::HTTPResponse object.
93
- # Net::HTTP.get_response(hostname, path_or_uri, port = 80)
94
- # Net::HTTP.get_response(uri, headers = {}, port = 80)
42
+ # == Strategies
43
+ #
44
+ # - If you will make only a few GET requests,
45
+ # consider using {OpenURI}[https://docs.ruby-lang.org/en/master/OpenURI.html].
46
+ # - If you will make only a few requests of all kinds,
47
+ # consider using the various singleton convenience methods in this class.
48
+ # Each of the following methods automatically starts and finishes
49
+ # a {session}[rdoc-ref:Net::HTTP@Sessions] that sends a single request:
50
+ #
51
+ # # Return string response body.
52
+ # Net::HTTP.get(hostname, path, port = 80)
53
+ # Net::HTTP.get(uri, headers = {}, port = 80)
54
+ #
55
+ # # Write string response body to $stdout.
56
+ # Net::HTTP.get_print(hostname, path_or_uri, port = 80)
57
+ # Net::HTTP.get_print(uri, headers = {}, port = 80)
58
+ #
59
+ # # Return response as Net::HTTPResponse object.
60
+ # Net::HTTP.get_response(hostname, path_or_uri, port = 80)
61
+ # Net::HTTP.get_response(uri, headers = {}, port = 80)
62
+ # Net::HTTP.post(uri, data, headers = {})
63
+ # Net::HTTP.post_form(uri, params)
64
+ #
65
+ # - If performance is important, consider using sessions, which lower request overhead.
66
+ # This {session}[rdoc-ref:Net::HTTP@Sessions] has multiple requests for
67
+ # {HTTP methods}[https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods]
68
+ # and {WebDAV methods}[https://en.wikipedia.org/wiki/WebDAV#Implementation]:
69
+ #
70
+ # Net::HTTP.start(hostname) do |http|
71
+ # # Session started automatically before block execution.
72
+ # http.get(path_or_uri, headers = {})
73
+ # http.head(path_or_uri, headers = {})
74
+ # http.post(path_or_uri, body, headers = {}) # Can also have a block.
75
+ # http.put(path_or_uri, body, headers = {})
76
+ # http.delete(path_or_uri, headers = {Depth: 'Infinity'})
77
+ # http.options(path_or_uri, headers = {})
78
+ # http.trace(path_or_uri, headers = {})
79
+ # http.patch(path_or_uri, body, headers = {}) # Can also have a block.
80
+ # http.copy(path_or_uri, headers = {})
81
+ # http.lock(path_or_uri, body, headers = {})
82
+ # http.mkcol(path_or_uri, body = nil, headers = {})
83
+ # http.move(path_or_uri, headers = {})
84
+ # http.propfind(path_or_uri, body = nil, headers = {'Depth' => '0'})
85
+ # http.proppatch(path_or_uri, body, headers = {})
86
+ # http.unlock(path_or_uri, body, headers = {})
87
+ # # Session finished automatically at block exit.
88
+ # end
95
89
#
96
- # Net::HTTP.post(uri, data, headers = {})
97
- # Net::HTTP.post_form(uri, params)
90
+ # The methods cited above are convenience methods that, via their few arguments,
91
+ # allow minimal control over the requests.
92
+ # For greater control, consider using {request objects}[rdoc-ref:Net::HTTPRequest].
98
93
#
99
94
# == About the Examples
100
95
#
@@ -183,7 +178,7 @@ class HTTPHeaderSyntaxError < StandardError; end
183
178
# - May contain any number of requests.
184
179
# - Is ended by instance method Net::HTTP#finish.
185
180
#
186
- # See example sessions at the {Synopsis }[rdoc-ref:Net::HTTP@Synopsis ].
181
+ # See example sessions at {Strategies }[rdoc-ref:Net::HTTP@Strategies ].
187
182
#
188
183
# === Session Using \Net::HTTP.start
189
184
#
0 commit comments