lunchmoney 0.10.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.
Files changed (142) hide show
  1. checksums.yaml +7 -0
  2. data/.DS_Store +0 -0
  3. data/.github/dependabot.yml +18 -0
  4. data/.github/workflows/build_and_publish_yard_docs.yml +47 -0
  5. data/.github/workflows/ci.yml +58 -0
  6. data/.github/workflows/dependabot-rbi-updater.yml +43 -0
  7. data/.github/workflows/publish_gem.yml +31 -0
  8. data/.gitignore +62 -0
  9. data/.rubocop.yml +45 -0
  10. data/.ruby-version +1 -0
  11. data/.toys/.toys.rb +10 -0
  12. data/.toys/ci.rb +22 -0
  13. data/.toys/rbi.rb +60 -0
  14. data/.toys/rubocop.rb +10 -0
  15. data/.toys/spoom.rb +15 -0
  16. data/.toys/typecheck.rb +5 -0
  17. data/.yardopts +2 -0
  18. data/Appraisals +22 -0
  19. data/Gemfile +25 -0
  20. data/Gemfile.lock +174 -0
  21. data/LICENSE +21 -0
  22. data/README.md +57 -0
  23. data/bin/console +16 -0
  24. data/bin/rubocop +27 -0
  25. data/bin/setup +8 -0
  26. data/bin/spoom +27 -0
  27. data/bin/srb +27 -0
  28. data/bin/tapioca +27 -0
  29. data/bin/toys +27 -0
  30. data/bin/yard +27 -0
  31. data/lib/lunchmoney/api.rb +147 -0
  32. data/lib/lunchmoney/api_call.rb +109 -0
  33. data/lib/lunchmoney/assets/asset.rb +89 -0
  34. data/lib/lunchmoney/assets/asset_calls.rb +96 -0
  35. data/lib/lunchmoney/budget/budget.rb +74 -0
  36. data/lib/lunchmoney/budget/budget_calls.rb +82 -0
  37. data/lib/lunchmoney/budget/config.rb +38 -0
  38. data/lib/lunchmoney/budget/data.rb +42 -0
  39. data/lib/lunchmoney/categories/category/category.rb +52 -0
  40. data/lib/lunchmoney/categories/category/child_category.rb +42 -0
  41. data/lib/lunchmoney/categories/category_calls.rb +195 -0
  42. data/lib/lunchmoney/configuration.rb +26 -0
  43. data/lib/lunchmoney/crypto/crypto/crypto.rb +43 -0
  44. data/lib/lunchmoney/crypto/crypto/crypto_base.rb +65 -0
  45. data/lib/lunchmoney/crypto/crypto_calls.rb +49 -0
  46. data/lib/lunchmoney/data_object.rb +25 -0
  47. data/lib/lunchmoney/errors.rb +19 -0
  48. data/lib/lunchmoney/exceptions.rb +19 -0
  49. data/lib/lunchmoney/plaid_accounts/plaid_account.rb +73 -0
  50. data/lib/lunchmoney/plaid_accounts/plaid_account_calls.rb +38 -0
  51. data/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense.rb +65 -0
  52. data/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense_base.rb +29 -0
  53. data/lib/lunchmoney/recurring_expenses/recurring_expense_calls.rb +28 -0
  54. data/lib/lunchmoney/tags/tag/tag.rb +20 -0
  55. data/lib/lunchmoney/tags/tag/tag_base.rb +21 -0
  56. data/lib/lunchmoney/tags/tag_calls.rb +20 -0
  57. data/lib/lunchmoney/transactions/transaction/child_transaction.rb +31 -0
  58. data/lib/lunchmoney/transactions/transaction/split.rb +24 -0
  59. data/lib/lunchmoney/transactions/transaction/transaction.rb +156 -0
  60. data/lib/lunchmoney/transactions/transaction/transaction_base.rb +52 -0
  61. data/lib/lunchmoney/transactions/transaction/transaction_modification_base.rb +30 -0
  62. data/lib/lunchmoney/transactions/transaction/update_transaction.rb +43 -0
  63. data/lib/lunchmoney/transactions/transaction_calls.rb +218 -0
  64. data/lib/lunchmoney/user/user.rb +36 -0
  65. data/lib/lunchmoney/user/user_calls.rb +19 -0
  66. data/lib/lunchmoney/validators.rb +43 -0
  67. data/lib/lunchmoney/version.rb +7 -0
  68. data/lib/lunchmoney.rb +54 -0
  69. data/lunchmoney.gemspec +34 -0
  70. data/sorbet/config +5 -0
  71. data/sorbet/rbi/annotations/.gitattributes +1 -0
  72. data/sorbet/rbi/annotations/activesupport.rbi +410 -0
  73. data/sorbet/rbi/annotations/faraday.rbi +17 -0
  74. data/sorbet/rbi/annotations/mocha.rbi +34 -0
  75. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  76. data/sorbet/rbi/annotations/webmock.rbi +9 -0
  77. data/sorbet/rbi/dsl/.gitattributes +1 -0
  78. data/sorbet/rbi/dsl/active_support/callbacks.rbi +22 -0
  79. data/sorbet/rbi/gems/.gitattributes +1 -0
  80. data/sorbet/rbi/gems/activesupport@7.1.3.rbi +18004 -0
  81. data/sorbet/rbi/gems/addressable@2.8.6.rbi +1993 -0
  82. data/sorbet/rbi/gems/appraisal@2.5.0.rbi +621 -0
  83. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  84. data/sorbet/rbi/gems/base64@0.2.0.rbi +508 -0
  85. data/sorbet/rbi/gems/bigdecimal@3.1.6.rbi +77 -0
  86. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3426 -0
  87. data/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi +11590 -0
  88. data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +8 -0
  89. data/sorbet/rbi/gems/crack@0.4.5.rbi +144 -0
  90. data/sorbet/rbi/gems/dotenv@2.8.1.rbi +234 -0
  91. data/sorbet/rbi/gems/drb@2.2.0.rbi +1346 -0
  92. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  93. data/sorbet/rbi/gems/faraday-net_http@3.1.0.rbi +146 -0
  94. data/sorbet/rbi/gems/faraday@2.9.0.rbi +2911 -0
  95. data/sorbet/rbi/gems/hashdiff@1.1.0.rbi +352 -0
  96. data/sorbet/rbi/gems/i18n@1.14.1.rbi +2325 -0
  97. data/sorbet/rbi/gems/json@2.7.1.rbi +1561 -0
  98. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  99. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  100. data/sorbet/rbi/gems/minitest@5.21.2.rbi +2197 -0
  101. data/sorbet/rbi/gems/mocha@2.1.0.rbi +3934 -0
  102. data/sorbet/rbi/gems/mutex_m@0.2.0.rbi +93 -0
  103. data/sorbet/rbi/gems/net-http@0.4.1.rbi +4068 -0
  104. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  105. data/sorbet/rbi/gems/parallel@1.24.0.rbi +280 -0
  106. data/sorbet/rbi/gems/parser@3.3.0.5.rbi +5472 -0
  107. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  108. data/sorbet/rbi/gems/prism@0.19.0.rbi +29883 -0
  109. data/sorbet/rbi/gems/pry-sorbet@0.2.1.rbi +966 -0
  110. data/sorbet/rbi/gems/pry@0.14.2.rbi +10077 -0
  111. data/sorbet/rbi/gems/public_suffix@5.0.4.rbi +935 -0
  112. data/sorbet/rbi/gems/racc@1.7.3.rbi +161 -0
  113. data/sorbet/rbi/gems/rack@3.0.8.rbi +5183 -0
  114. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  115. data/sorbet/rbi/gems/rake@13.1.0.rbi +3027 -0
  116. data/sorbet/rbi/gems/rbi@0.1.6.rbi +2922 -0
  117. data/sorbet/rbi/gems/regexp_parser@2.9.0.rbi +3771 -0
  118. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  119. data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +7117 -0
  120. data/sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi +2576 -0
  121. data/sorbet/rbi/gems/rubocop-rails@2.23.1.rbi +9175 -0
  122. data/sorbet/rbi/gems/rubocop-shopify@2.14.0.rbi +8 -0
  123. data/sorbet/rbi/gems/rubocop-sorbet@0.7.6.rbi +1510 -0
  124. data/sorbet/rbi/gems/rubocop@1.60.1.rbi +57356 -0
  125. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  126. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +8 -0
  127. data/sorbet/rbi/gems/spoom@1.2.4.rbi +3777 -0
  128. data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +23136 -0
  129. data/sorbet/rbi/gems/tapioca@0.12.0.rbi +3506 -0
  130. data/sorbet/rbi/gems/thor@1.3.0.rbi +4312 -0
  131. data/sorbet/rbi/gems/toys-core@0.15.4.rbi +9462 -0
  132. data/sorbet/rbi/gems/toys@0.15.4.rbi +243 -0
  133. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5917 -0
  134. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +65 -0
  135. data/sorbet/rbi/gems/uri@0.13.0.rbi +2327 -0
  136. data/sorbet/rbi/gems/vcr@6.2.0.rbi +3036 -0
  137. data/sorbet/rbi/gems/webmock@3.19.1.rbi +1768 -0
  138. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  139. data/sorbet/rbi/gems/yard@0.9.34.rbi +18084 -0
  140. data/sorbet/shims/module.rbi +6 -0
  141. data/sorbet/tapioca/require.rb +10 -0
  142. metadata +228 -0
@@ -0,0 +1,4068 @@
1
+ # typed: false
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `net-http` gem.
5
+ # Please instead update this file by running `bin/tapioca gem net-http`.
6
+
7
+ # \Class \Net::HTTP provides a rich library that implements the client
8
+ # in a client-server model that uses the \HTTP request-response protocol.
9
+ # For information about \HTTP, see:
10
+ #
11
+ # - {Hypertext Transfer Protocol}[https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol].
12
+ # - {Technical overview}[https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Technical_overview].
13
+ #
14
+ # == About the Examples
15
+ #
16
+ # :include: doc/net-http/examples.rdoc
17
+ #
18
+ # == Strategies
19
+ #
20
+ # - If you will make only a few GET requests,
21
+ # consider using {OpenURI}[https://docs.ruby-lang.org/en/master/OpenURI.html].
22
+ # - If you will make only a few requests of all kinds,
23
+ # consider using the various singleton convenience methods in this class.
24
+ # Each of the following methods automatically starts and finishes
25
+ # a {session}[rdoc-ref:Net::HTTP@Sessions] that sends a single request:
26
+ #
27
+ # # Return string response body.
28
+ # Net::HTTP.get(hostname, path)
29
+ # Net::HTTP.get(uri)
30
+ #
31
+ # # Write string response body to $stdout.
32
+ # Net::HTTP.get_print(hostname, path)
33
+ # Net::HTTP.get_print(uri)
34
+ #
35
+ # # Return response as Net::HTTPResponse object.
36
+ # Net::HTTP.get_response(hostname, path)
37
+ # Net::HTTP.get_response(uri)
38
+ # data = '{"title": "foo", "body": "bar", "userId": 1}'
39
+ # Net::HTTP.post(uri, data)
40
+ # params = {title: 'foo', body: 'bar', userId: 1}
41
+ # Net::HTTP.post_form(uri, params)
42
+ #
43
+ # - If performance is important, consider using sessions, which lower request overhead.
44
+ # This {session}[rdoc-ref:Net::HTTP@Sessions] has multiple requests for
45
+ # {HTTP methods}[https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods]
46
+ # and {WebDAV methods}[https://en.wikipedia.org/wiki/WebDAV#Implementation]:
47
+ #
48
+ # Net::HTTP.start(hostname) do |http|
49
+ # # Session started automatically before block execution.
50
+ # http.get(path)
51
+ # http.head(path)
52
+ # body = 'Some text'
53
+ # http.post(path, body) # Can also have a block.
54
+ # http.put(path, body)
55
+ # http.delete(path)
56
+ # http.options(path)
57
+ # http.trace(path)
58
+ # http.patch(path, body) # Can also have a block.
59
+ # http.copy(path)
60
+ # http.lock(path, body)
61
+ # http.mkcol(path, body)
62
+ # http.move(path)
63
+ # http.propfind(path, body)
64
+ # http.proppatch(path, body)
65
+ # http.unlock(path, body)
66
+ # # Session finished automatically at block exit.
67
+ # end
68
+ #
69
+ # The methods cited above are convenience methods that, via their few arguments,
70
+ # allow minimal control over the requests.
71
+ # For greater control, consider using {request objects}[rdoc-ref:Net::HTTPRequest].
72
+ #
73
+ # == URIs
74
+ #
75
+ # On the internet, a URI
76
+ # ({Universal Resource Identifier}[https://en.wikipedia.org/wiki/Uniform_Resource_Identifier])
77
+ # is a string that identifies a particular resource.
78
+ # It consists of some or all of: scheme, hostname, path, query, and fragment;
79
+ # see {URI syntax}[https://en.wikipedia.org/wiki/Uniform_Resource_Identifier#Syntax].
80
+ #
81
+ # A Ruby {URI::Generic}[https://docs.ruby-lang.org/en/master/URI/Generic.html] object
82
+ # represents an internet URI.
83
+ # It provides, among others, methods
84
+ # +scheme+, +hostname+, +path+, +query+, and +fragment+.
85
+ #
86
+ # === Schemes
87
+ #
88
+ # An internet \URI has
89
+ # a {scheme}[https://en.wikipedia.org/wiki/List_of_URI_schemes].
90
+ #
91
+ # The two schemes supported in \Net::HTTP are <tt>'https'</tt> and <tt>'http'</tt>:
92
+ #
93
+ # uri.scheme # => "https"
94
+ # URI('http://example.com').scheme # => "http"
95
+ #
96
+ # === Hostnames
97
+ #
98
+ # A hostname identifies a server (host) to which requests may be sent:
99
+ #
100
+ # hostname = uri.hostname # => "jsonplaceholder.typicode.com"
101
+ # Net::HTTP.start(hostname) do |http|
102
+ # # Some HTTP stuff.
103
+ # end
104
+ #
105
+ # === Paths
106
+ #
107
+ # A host-specific path identifies a resource on the host:
108
+ #
109
+ # _uri = uri.dup
110
+ # _uri.path = '/todos/1'
111
+ # hostname = _uri.hostname
112
+ # path = _uri.path
113
+ # Net::HTTP.get(hostname, path)
114
+ #
115
+ # === Queries
116
+ #
117
+ # A host-specific query adds name/value pairs to the URI:
118
+ #
119
+ # _uri = uri.dup
120
+ # params = {userId: 1, completed: false}
121
+ # _uri.query = URI.encode_www_form(params)
122
+ # _uri # => #<URI::HTTPS https://jsonplaceholder.typicode.com?userId=1&completed=false>
123
+ # Net::HTTP.get(_uri)
124
+ #
125
+ # === Fragments
126
+ #
127
+ # A {URI fragment}[https://en.wikipedia.org/wiki/URI_fragment] has no effect
128
+ # in \Net::HTTP;
129
+ # the same data is returned, regardless of whether a fragment is included.
130
+ #
131
+ # == Request Headers
132
+ #
133
+ # Request headers may be used to pass additional information to the host,
134
+ # similar to arguments passed in a method call;
135
+ # each header is a name/value pair.
136
+ #
137
+ # Each of the \Net::HTTP methods that sends a request to the host
138
+ # has optional argument +headers+,
139
+ # where the headers are expressed as a hash of field-name/value pairs:
140
+ #
141
+ # headers = {Accept: 'application/json', Connection: 'Keep-Alive'}
142
+ # Net::HTTP.get(uri, headers)
143
+ #
144
+ # See lists of both standard request fields and common request fields at
145
+ # {Request Fields}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Request_fields].
146
+ # A host may also accept other custom fields.
147
+ #
148
+ # == \HTTP Sessions
149
+ #
150
+ # A _session_ is a connection between a server (host) and a client that:
151
+ #
152
+ # - Is begun by instance method Net::HTTP#start.
153
+ # - May contain any number of requests.
154
+ # - Is ended by instance method Net::HTTP#finish.
155
+ #
156
+ # See example sessions at {Strategies}[rdoc-ref:Net::HTTP@Strategies].
157
+ #
158
+ # === Session Using \Net::HTTP.start
159
+ #
160
+ # If you have many requests to make to a single host (and port),
161
+ # consider using singleton method Net::HTTP.start with a block;
162
+ # the method handles the session automatically by:
163
+ #
164
+ # - Calling #start before block execution.
165
+ # - Executing the block.
166
+ # - Calling #finish after block execution.
167
+ #
168
+ # In the block, you can use these instance methods,
169
+ # each of which that sends a single request:
170
+ #
171
+ # - {HTTP methods}[https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods]:
172
+ #
173
+ # - #get, #request_get: GET.
174
+ # - #head, #request_head: HEAD.
175
+ # - #post, #request_post: POST.
176
+ # - #delete: DELETE.
177
+ # - #options: OPTIONS.
178
+ # - #trace: TRACE.
179
+ # - #patch: PATCH.
180
+ #
181
+ # - {WebDAV methods}[https://en.wikipedia.org/wiki/WebDAV#Implementation]:
182
+ #
183
+ # - #copy: COPY.
184
+ # - #lock: LOCK.
185
+ # - #mkcol: MKCOL.
186
+ # - #move: MOVE.
187
+ # - #propfind: PROPFIND.
188
+ # - #proppatch: PROPPATCH.
189
+ # - #unlock: UNLOCK.
190
+ #
191
+ # === Session Using \Net::HTTP.start and \Net::HTTP.finish
192
+ #
193
+ # You can manage a session manually using methods #start and #finish:
194
+ #
195
+ # http = Net::HTTP.new(hostname)
196
+ # http.start
197
+ # http.get('/todos/1')
198
+ # http.get('/todos/2')
199
+ # http.delete('/posts/1')
200
+ # http.finish # Needed to free resources.
201
+ #
202
+ # === Single-Request Session
203
+ #
204
+ # Certain convenience methods automatically handle a session by:
205
+ #
206
+ # - Creating an \HTTP object
207
+ # - Starting a session.
208
+ # - Sending a single request.
209
+ # - Finishing the session.
210
+ # - Destroying the object.
211
+ #
212
+ # Such methods that send GET requests:
213
+ #
214
+ # - ::get: Returns the string response body.
215
+ # - ::get_print: Writes the string response body to $stdout.
216
+ # - ::get_response: Returns a Net::HTTPResponse object.
217
+ #
218
+ # Such methods that send POST requests:
219
+ #
220
+ # - ::post: Posts data to the host.
221
+ # - ::post_form: Posts form data to the host.
222
+ #
223
+ # == \HTTP Requests and Responses
224
+ #
225
+ # Many of the methods above are convenience methods,
226
+ # each of which sends a request and returns a string
227
+ # without directly using \Net::HTTPRequest and \Net::HTTPResponse objects.
228
+ #
229
+ # You can, however, directly create a request object, send the request,
230
+ # and retrieve the response object; see:
231
+ #
232
+ # - Net::HTTPRequest.
233
+ # - Net::HTTPResponse.
234
+ #
235
+ # == Following Redirection
236
+ #
237
+ # Each returned response is an instance of a subclass of Net::HTTPResponse.
238
+ # See the {response class hierarchy}[rdoc-ref:Net::HTTPResponse@Response+Subclasses].
239
+ #
240
+ # In particular, class Net::HTTPRedirection is the parent
241
+ # of all redirection classes.
242
+ # This allows you to craft a case statement to handle redirections properly:
243
+ #
244
+ # def fetch(uri, limit = 10)
245
+ # # You should choose a better exception.
246
+ # raise ArgumentError, 'Too many HTTP redirects' if limit == 0
247
+ #
248
+ # res = Net::HTTP.get_response(URI(uri))
249
+ # case res
250
+ # when Net::HTTPSuccess # Any success class.
251
+ # res
252
+ # when Net::HTTPRedirection # Any redirection class.
253
+ # location = res['Location']
254
+ # warn "Redirected to #{location}"
255
+ # fetch(location, limit - 1)
256
+ # else # Any other class.
257
+ # res.value
258
+ # end
259
+ # end
260
+ #
261
+ # fetch(uri)
262
+ #
263
+ # == Basic Authentication
264
+ #
265
+ # Basic authentication is performed according to
266
+ # {RFC2617}[http://www.ietf.org/rfc/rfc2617.txt]:
267
+ #
268
+ # req = Net::HTTP::Get.new(uri)
269
+ # req.basic_auth('user', 'pass')
270
+ # res = Net::HTTP.start(hostname) do |http|
271
+ # http.request(req)
272
+ # end
273
+ #
274
+ # == Streaming Response Bodies
275
+ #
276
+ # By default \Net::HTTP reads an entire response into memory. If you are
277
+ # handling large files or wish to implement a progress bar you can instead
278
+ # stream the body directly to an IO.
279
+ #
280
+ # Net::HTTP.start(hostname) do |http|
281
+ # req = Net::HTTP::Get.new(uri)
282
+ # http.request(req) do |res|
283
+ # open('t.tmp', 'w') do |f|
284
+ # res.read_body do |chunk|
285
+ # f.write chunk
286
+ # end
287
+ # end
288
+ # end
289
+ # end
290
+ #
291
+ # == HTTPS
292
+ #
293
+ # HTTPS is enabled for an \HTTP connection by Net::HTTP#use_ssl=:
294
+ #
295
+ # Net::HTTP.start(hostname, :use_ssl => true) do |http|
296
+ # req = Net::HTTP::Get.new(uri)
297
+ # res = http.request(req)
298
+ # end
299
+ #
300
+ # Or if you simply want to make a GET request, you may pass in a URI
301
+ # object that has an \HTTPS URL. \Net::HTTP automatically turns on TLS
302
+ # verification if the URI object has a 'https' URI scheme:
303
+ #
304
+ # uri # => #<URI::HTTPS https://jsonplaceholder.typicode.com/>
305
+ # Net::HTTP.get(uri)
306
+ #
307
+ # == Proxy Server
308
+ #
309
+ # An \HTTP object can have
310
+ # a {proxy server}[https://en.wikipedia.org/wiki/Proxy_server].
311
+ #
312
+ # You can create an \HTTP object with a proxy server
313
+ # using method Net::HTTP.new or method Net::HTTP.start.
314
+ #
315
+ # The proxy may be defined either by argument +p_addr+
316
+ # or by environment variable <tt>'http_proxy'</tt>.
317
+ #
318
+ # === Proxy Using Argument +p_addr+ as a \String
319
+ #
320
+ # When argument +p_addr+ is a string hostname,
321
+ # the returned +http+ has the given host as its proxy:
322
+ #
323
+ # http = Net::HTTP.new(hostname, nil, 'proxy.example')
324
+ # http.proxy? # => true
325
+ # http.proxy_from_env? # => false
326
+ # http.proxy_address # => "proxy.example"
327
+ # # These use default values.
328
+ # http.proxy_port # => 80
329
+ # http.proxy_user # => nil
330
+ # http.proxy_pass # => nil
331
+ #
332
+ # The port, username, and password for the proxy may also be given:
333
+ #
334
+ # http = Net::HTTP.new(hostname, nil, 'proxy.example', 8000, 'pname', 'ppass')
335
+ # # => #<Net::HTTP jsonplaceholder.typicode.com:80 open=false>
336
+ # http.proxy? # => true
337
+ # http.proxy_from_env? # => false
338
+ # http.proxy_address # => "proxy.example"
339
+ # http.proxy_port # => 8000
340
+ # http.proxy_user # => "pname"
341
+ # http.proxy_pass # => "ppass"
342
+ #
343
+ # === Proxy Using '<tt>ENV['http_proxy']</tt>'
344
+ #
345
+ # When environment variable <tt>'http_proxy'</tt>
346
+ # is set to a \URI string,
347
+ # the returned +http+ will have the server at that URI as its proxy;
348
+ # note that the \URI string must have a protocol
349
+ # such as <tt>'http'</tt> or <tt>'https'</tt>:
350
+ #
351
+ # ENV['http_proxy'] = 'http://example.com'
352
+ # http = Net::HTTP.new(hostname)
353
+ # http.proxy? # => true
354
+ # http.proxy_from_env? # => true
355
+ # http.proxy_address # => "example.com"
356
+ # # These use default values.
357
+ # http.proxy_port # => 80
358
+ # http.proxy_user # => nil
359
+ # http.proxy_pass # => nil
360
+ #
361
+ # The \URI string may include proxy username, password, and port number:
362
+ #
363
+ # ENV['http_proxy'] = 'http://pname:ppass@example.com:8000'
364
+ # http = Net::HTTP.new(hostname)
365
+ # http.proxy? # => true
366
+ # http.proxy_from_env? # => true
367
+ # http.proxy_address # => "example.com"
368
+ # http.proxy_port # => 8000
369
+ # http.proxy_user # => "pname"
370
+ # http.proxy_pass # => "ppass"
371
+ #
372
+ # === Filtering Proxies
373
+ #
374
+ # With method Net::HTTP.new (but not Net::HTTP.start),
375
+ # you can use argument +p_no_proxy+ to filter proxies:
376
+ #
377
+ # - Reject a certain address:
378
+ #
379
+ # http = Net::HTTP.new('example.com', nil, 'proxy.example', 8000, 'pname', 'ppass', 'proxy.example')
380
+ # http.proxy_address # => nil
381
+ #
382
+ # - Reject certain domains or subdomains:
383
+ #
384
+ # http = Net::HTTP.new('example.com', nil, 'my.proxy.example', 8000, 'pname', 'ppass', 'proxy.example')
385
+ # http.proxy_address # => nil
386
+ #
387
+ # - Reject certain addresses and port combinations:
388
+ #
389
+ # http = Net::HTTP.new('example.com', nil, 'proxy.example', 8000, 'pname', 'ppass', 'proxy.example:1234')
390
+ # http.proxy_address # => "proxy.example"
391
+ #
392
+ # http = Net::HTTP.new('example.com', nil, 'proxy.example', 8000, 'pname', 'ppass', 'proxy.example:8000')
393
+ # http.proxy_address # => nil
394
+ #
395
+ # - Reject a list of the types above delimited using a comma:
396
+ #
397
+ # http = Net::HTTP.new('example.com', nil, 'proxy.example', 8000, 'pname', 'ppass', 'my.proxy,proxy.example:8000')
398
+ # http.proxy_address # => nil
399
+ #
400
+ # http = Net::HTTP.new('example.com', nil, 'my.proxy', 8000, 'pname', 'ppass', 'my.proxy,proxy.example:8000')
401
+ # http.proxy_address # => nil
402
+ #
403
+ # == Compression and Decompression
404
+ #
405
+ # \Net::HTTP does not compress the body of a request before sending.
406
+ #
407
+ # By default, \Net::HTTP adds header <tt>'Accept-Encoding'</tt>
408
+ # to a new {request object}[rdoc-ref:Net::HTTPRequest]:
409
+ #
410
+ # Net::HTTP::Get.new(uri)['Accept-Encoding']
411
+ # # => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3"
412
+ #
413
+ # This requests the server to zip-encode the response body if there is one;
414
+ # the server is not required to do so.
415
+ #
416
+ # \Net::HTTP does not automatically decompress a response body
417
+ # if the response has header <tt>'Content-Range'</tt>.
418
+ #
419
+ # Otherwise decompression (or not) depends on the value of header
420
+ # {Content-Encoding}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-encoding-response-header]:
421
+ #
422
+ # - <tt>'deflate'</tt>, <tt>'gzip'</tt>, or <tt>'x-gzip'</tt>:
423
+ # decompresses the body and deletes the header.
424
+ # - <tt>'none'</tt> or <tt>'identity'</tt>:
425
+ # does not decompress the body, but deletes the header.
426
+ # - Any other value:
427
+ # leaves the body and header unchanged.
428
+ #
429
+ # == What's Here
430
+ #
431
+ # This is a categorized summary of methods and attributes.
432
+ #
433
+ # === \Net::HTTP Objects
434
+ #
435
+ # - {::new}[rdoc-ref:Net::HTTP.new]:
436
+ # Creates a new instance.
437
+ # - {#inspect}[rdoc-ref:Net::HTTP#inspect]:
438
+ # Returns a string representation of +self+.
439
+ #
440
+ # === Sessions
441
+ #
442
+ # - {::start}[rdoc-ref:Net::HTTP.start]:
443
+ # Begins a new session in a new \Net::HTTP object.
444
+ # - {#started?}[rdoc-ref:Net::HTTP#started?]
445
+ # (aliased as {#active?}[rdoc-ref:Net::HTTP#active?]):
446
+ # Returns whether in a session.
447
+ # - {#finish}[rdoc-ref:Net::HTTP#finish]:
448
+ # Ends an active session.
449
+ # - {#start}[rdoc-ref:Net::HTTP#start]:
450
+ # Begins a new session in an existing \Net::HTTP object (+self+).
451
+ #
452
+ # === Connections
453
+ #
454
+ # - {:continue_timeout}[rdoc-ref:Net::HTTP#continue_timeout]:
455
+ # Returns the continue timeout.
456
+ # - {#continue_timeout=}[rdoc-ref:Net::HTTP#continue_timeout=]:
457
+ # Sets the continue timeout seconds.
458
+ # - {:keep_alive_timeout}[rdoc-ref:Net::HTTP#keep_alive_timeout]:
459
+ # Returns the keep-alive timeout.
460
+ # - {:keep_alive_timeout=}[rdoc-ref:Net::HTTP#keep_alive_timeout=]:
461
+ # Sets the keep-alive timeout.
462
+ # - {:max_retries}[rdoc-ref:Net::HTTP#max_retries]:
463
+ # Returns the maximum retries.
464
+ # - {#max_retries=}[rdoc-ref:Net::HTTP#max_retries=]:
465
+ # Sets the maximum retries.
466
+ # - {:open_timeout}[rdoc-ref:Net::HTTP#open_timeout]:
467
+ # Returns the open timeout.
468
+ # - {:open_timeout=}[rdoc-ref:Net::HTTP#open_timeout=]:
469
+ # Sets the open timeout.
470
+ # - {:read_timeout}[rdoc-ref:Net::HTTP#read_timeout]:
471
+ # Returns the open timeout.
472
+ # - {:read_timeout=}[rdoc-ref:Net::HTTP#read_timeout=]:
473
+ # Sets the read timeout.
474
+ # - {:ssl_timeout}[rdoc-ref:Net::HTTP#ssl_timeout]:
475
+ # Returns the ssl timeout.
476
+ # - {:ssl_timeout=}[rdoc-ref:Net::HTTP#ssl_timeout=]:
477
+ # Sets the ssl timeout.
478
+ # - {:write_timeout}[rdoc-ref:Net::HTTP#write_timeout]:
479
+ # Returns the write timeout.
480
+ # - {write_timeout=}[rdoc-ref:Net::HTTP#write_timeout=]:
481
+ # Sets the write timeout.
482
+ #
483
+ # === Requests
484
+ #
485
+ # - {::get}[rdoc-ref:Net::HTTP.get]:
486
+ # Sends a GET request and returns the string response body.
487
+ # - {::get_print}[rdoc-ref:Net::HTTP.get_print]:
488
+ # Sends a GET request and write the string response body to $stdout.
489
+ # - {::get_response}[rdoc-ref:Net::HTTP.get_response]:
490
+ # Sends a GET request and returns a response object.
491
+ # - {::post_form}[rdoc-ref:Net::HTTP.post_form]:
492
+ # Sends a POST request with form data and returns a response object.
493
+ # - {::post}[rdoc-ref:Net::HTTP.post]:
494
+ # Sends a POST request with data and returns a response object.
495
+ # - {#copy}[rdoc-ref:Net::HTTP#copy]:
496
+ # Sends a COPY request and returns a response object.
497
+ # - {#delete}[rdoc-ref:Net::HTTP#delete]:
498
+ # Sends a DELETE request and returns a response object.
499
+ # - {#get}[rdoc-ref:Net::HTTP#get]:
500
+ # Sends a GET request and returns a response object.
501
+ # - {#head}[rdoc-ref:Net::HTTP#head]:
502
+ # Sends a HEAD request and returns a response object.
503
+ # - {#lock}[rdoc-ref:Net::HTTP#lock]:
504
+ # Sends a LOCK request and returns a response object.
505
+ # - {#mkcol}[rdoc-ref:Net::HTTP#mkcol]:
506
+ # Sends a MKCOL request and returns a response object.
507
+ # - {#move}[rdoc-ref:Net::HTTP#move]:
508
+ # Sends a MOVE request and returns a response object.
509
+ # - {#options}[rdoc-ref:Net::HTTP#options]:
510
+ # Sends a OPTIONS request and returns a response object.
511
+ # - {#patch}[rdoc-ref:Net::HTTP#patch]:
512
+ # Sends a PATCH request and returns a response object.
513
+ # - {#post}[rdoc-ref:Net::HTTP#post]:
514
+ # Sends a POST request and returns a response object.
515
+ # - {#propfind}[rdoc-ref:Net::HTTP#propfind]:
516
+ # Sends a PROPFIND request and returns a response object.
517
+ # - {#proppatch}[rdoc-ref:Net::HTTP#proppatch]:
518
+ # Sends a PROPPATCH request and returns a response object.
519
+ # - {#put}[rdoc-ref:Net::HTTP#put]:
520
+ # Sends a PUT request and returns a response object.
521
+ # - {#request}[rdoc-ref:Net::HTTP#request]:
522
+ # Sends a request and returns a response object.
523
+ # - {#request_get}[rdoc-ref:Net::HTTP#request_get]
524
+ # (aliased as {#get2}[rdoc-ref:Net::HTTP#get2]):
525
+ # Sends a GET request and forms a response object;
526
+ # if a block given, calls the block with the object,
527
+ # otherwise returns the object.
528
+ # - {#request_head}[rdoc-ref:Net::HTTP#request_head]
529
+ # (aliased as {#head2}[rdoc-ref:Net::HTTP#head2]):
530
+ # Sends a HEAD request and forms a response object;
531
+ # if a block given, calls the block with the object,
532
+ # otherwise returns the object.
533
+ # - {#request_post}[rdoc-ref:Net::HTTP#request_post]
534
+ # (aliased as {#post2}[rdoc-ref:Net::HTTP#post2]):
535
+ # Sends a POST request and forms a response object;
536
+ # if a block given, calls the block with the object,
537
+ # otherwise returns the object.
538
+ # - {#send_request}[rdoc-ref:Net::HTTP#send_request]:
539
+ # Sends a request and returns a response object.
540
+ # - {#trace}[rdoc-ref:Net::HTTP#trace]:
541
+ # Sends a TRACE request and returns a response object.
542
+ # - {#unlock}[rdoc-ref:Net::HTTP#unlock]:
543
+ # Sends an UNLOCK request and returns a response object.
544
+ #
545
+ # === Responses
546
+ #
547
+ # - {:close_on_empty_response}[rdoc-ref:Net::HTTP#close_on_empty_response]:
548
+ # Returns whether to close connection on empty response.
549
+ # - {:close_on_empty_response=}[rdoc-ref:Net::HTTP#close_on_empty_response=]:
550
+ # Sets whether to close connection on empty response.
551
+ # - {:ignore_eof}[rdoc-ref:Net::HTTP#ignore_eof]:
552
+ # Returns whether to ignore end-of-file when reading a response body
553
+ # with <tt>Content-Length</tt> headers.
554
+ # - {:ignore_eof=}[rdoc-ref:Net::HTTP#ignore_eof=]:
555
+ # Sets whether to ignore end-of-file when reading a response body
556
+ # with <tt>Content-Length</tt> headers.
557
+ # - {:response_body_encoding}[rdoc-ref:Net::HTTP#response_body_encoding]:
558
+ # Returns the encoding to use for the response body.
559
+ # - {#response_body_encoding=}[rdoc-ref:Net::HTTP#response_body_encoding=]:
560
+ # Sets the response body encoding.
561
+ #
562
+ # === Proxies
563
+ #
564
+ # - {:proxy_address}[rdoc-ref:Net::HTTP#proxy_address]:
565
+ # Returns the proxy address.
566
+ # - {:proxy_address=}[rdoc-ref:Net::HTTP#proxy_address=]:
567
+ # Sets the proxy address.
568
+ # - {::proxy_class?}[rdoc-ref:Net::HTTP.proxy_class?]:
569
+ # Returns whether +self+ is a proxy class.
570
+ # - {#proxy?}[rdoc-ref:Net::HTTP#proxy?]:
571
+ # Returns whether +self+ has a proxy.
572
+ # - {#proxy_address}[rdoc-ref:Net::HTTP#proxy_address]
573
+ # (aliased as {#proxyaddr}[rdoc-ref:Net::HTTP#proxyaddr]):
574
+ # Returns the proxy address.
575
+ # - {#proxy_from_env?}[rdoc-ref:Net::HTTP#proxy_from_env?]:
576
+ # Returns whether the proxy is taken from an environment variable.
577
+ # - {:proxy_from_env=}[rdoc-ref:Net::HTTP#proxy_from_env=]:
578
+ # Sets whether the proxy is to be taken from an environment variable.
579
+ # - {:proxy_pass}[rdoc-ref:Net::HTTP#proxy_pass]:
580
+ # Returns the proxy password.
581
+ # - {:proxy_pass=}[rdoc-ref:Net::HTTP#proxy_pass=]:
582
+ # Sets the proxy password.
583
+ # - {:proxy_port}[rdoc-ref:Net::HTTP#proxy_port]:
584
+ # Returns the proxy port.
585
+ # - {:proxy_port=}[rdoc-ref:Net::HTTP#proxy_port=]:
586
+ # Sets the proxy port.
587
+ # - {#proxy_user}[rdoc-ref:Net::HTTP#proxy_user]:
588
+ # Returns the proxy user name.
589
+ # - {:proxy_user=}[rdoc-ref:Net::HTTP#proxy_user=]:
590
+ # Sets the proxy user.
591
+ #
592
+ # === Security
593
+ #
594
+ # - {:ca_file}[rdoc-ref:Net::HTTP#ca_file]:
595
+ # Returns the path to a CA certification file.
596
+ # - {:ca_file=}[rdoc-ref:Net::HTTP#ca_file=]:
597
+ # Sets the path to a CA certification file.
598
+ # - {:ca_path}[rdoc-ref:Net::HTTP#ca_path]:
599
+ # Returns the path of to CA directory containing certification files.
600
+ # - {:ca_path=}[rdoc-ref:Net::HTTP#ca_path=]:
601
+ # Sets the path of to CA directory containing certification files.
602
+ # - {:cert}[rdoc-ref:Net::HTTP#cert]:
603
+ # Returns the OpenSSL::X509::Certificate object to be used for client certification.
604
+ # - {:cert=}[rdoc-ref:Net::HTTP#cert=]:
605
+ # Sets the OpenSSL::X509::Certificate object to be used for client certification.
606
+ # - {:cert_store}[rdoc-ref:Net::HTTP#cert_store]:
607
+ # Returns the X509::Store to be used for verifying peer certificate.
608
+ # - {:cert_store=}[rdoc-ref:Net::HTTP#cert_store=]:
609
+ # Sets the X509::Store to be used for verifying peer certificate.
610
+ # - {:ciphers}[rdoc-ref:Net::HTTP#ciphers]:
611
+ # Returns the available SSL ciphers.
612
+ # - {:ciphers=}[rdoc-ref:Net::HTTP#ciphers=]:
613
+ # Sets the available SSL ciphers.
614
+ # - {:extra_chain_cert}[rdoc-ref:Net::HTTP#extra_chain_cert]:
615
+ # Returns the extra X509 certificates to be added to the certificate chain.
616
+ # - {:extra_chain_cert=}[rdoc-ref:Net::HTTP#extra_chain_cert=]:
617
+ # Sets the extra X509 certificates to be added to the certificate chain.
618
+ # - {:key}[rdoc-ref:Net::HTTP#key]:
619
+ # Returns the OpenSSL::PKey::RSA or OpenSSL::PKey::DSA object.
620
+ # - {:key=}[rdoc-ref:Net::HTTP#key=]:
621
+ # Sets the OpenSSL::PKey::RSA or OpenSSL::PKey::DSA object.
622
+ # - {:max_version}[rdoc-ref:Net::HTTP#max_version]:
623
+ # Returns the maximum SSL version.
624
+ # - {:max_version=}[rdoc-ref:Net::HTTP#max_version=]:
625
+ # Sets the maximum SSL version.
626
+ # - {:min_version}[rdoc-ref:Net::HTTP#min_version]:
627
+ # Returns the minimum SSL version.
628
+ # - {:min_version=}[rdoc-ref:Net::HTTP#min_version=]:
629
+ # Sets the minimum SSL version.
630
+ # - {#peer_cert}[rdoc-ref:Net::HTTP#peer_cert]:
631
+ # Returns the X509 certificate chain for the session's socket peer.
632
+ # - {:ssl_version}[rdoc-ref:Net::HTTP#ssl_version]:
633
+ # Returns the SSL version.
634
+ # - {:ssl_version=}[rdoc-ref:Net::HTTP#ssl_version=]:
635
+ # Sets the SSL version.
636
+ # - {#use_ssl=}[rdoc-ref:Net::HTTP#use_ssl=]:
637
+ # Sets whether a new session is to use Transport Layer Security.
638
+ # - {#use_ssl?}[rdoc-ref:Net::HTTP#use_ssl?]:
639
+ # Returns whether +self+ uses SSL.
640
+ # - {:verify_callback}[rdoc-ref:Net::HTTP#verify_callback]:
641
+ # Returns the callback for the server certification verification.
642
+ # - {:verify_callback=}[rdoc-ref:Net::HTTP#verify_callback=]:
643
+ # Sets the callback for the server certification verification.
644
+ # - {:verify_depth}[rdoc-ref:Net::HTTP#verify_depth]:
645
+ # Returns the maximum depth for the certificate chain verification.
646
+ # - {:verify_depth=}[rdoc-ref:Net::HTTP#verify_depth=]:
647
+ # Sets the maximum depth for the certificate chain verification.
648
+ # - {:verify_hostname}[rdoc-ref:Net::HTTP#verify_hostname]:
649
+ # Returns the flags for server the certification verification at the beginning of the SSL/TLS session.
650
+ # - {:verify_hostname=}[rdoc-ref:Net::HTTP#verify_hostname=]:
651
+ # Sets he flags for server the certification verification at the beginning of the SSL/TLS session.
652
+ # - {:verify_mode}[rdoc-ref:Net::HTTP#verify_mode]:
653
+ # Returns the flags for server the certification verification at the beginning of the SSL/TLS session.
654
+ # - {:verify_mode=}[rdoc-ref:Net::HTTP#verify_mode=]:
655
+ # Sets the flags for server the certification verification at the beginning of the SSL/TLS session.
656
+ #
657
+ # === Addresses and Ports
658
+ #
659
+ # - {:address}[rdoc-ref:Net::HTTP#address]:
660
+ # Returns the string host name or host IP.
661
+ # - {::default_port}[rdoc-ref:Net::HTTP.default_port]:
662
+ # Returns integer 80, the default port to use for HTTP requests.
663
+ # - {::http_default_port}[rdoc-ref:Net::HTTP.http_default_port]:
664
+ # Returns integer 80, the default port to use for HTTP requests.
665
+ # - {::https_default_port}[rdoc-ref:Net::HTTP.https_default_port]:
666
+ # Returns integer 443, the default port to use for HTTPS requests.
667
+ # - {#ipaddr}[rdoc-ref:Net::HTTP#ipaddr]:
668
+ # Returns the IP address for the connection.
669
+ # - {#ipaddr=}[rdoc-ref:Net::HTTP#ipaddr=]:
670
+ # Sets the IP address for the connection.
671
+ # - {:local_host}[rdoc-ref:Net::HTTP#local_host]:
672
+ # Returns the string local host used to establish the connection.
673
+ # - {:local_host=}[rdoc-ref:Net::HTTP#local_host=]:
674
+ # Sets the string local host used to establish the connection.
675
+ # - {:local_port}[rdoc-ref:Net::HTTP#local_port]:
676
+ # Returns the integer local port used to establish the connection.
677
+ # - {:local_port=}[rdoc-ref:Net::HTTP#local_port=]:
678
+ # Sets the integer local port used to establish the connection.
679
+ # - {:port}[rdoc-ref:Net::HTTP#port]:
680
+ # Returns the integer port number.
681
+ #
682
+ # === \HTTP Version
683
+ #
684
+ # - {::version_1_2?}[rdoc-ref:Net::HTTP.version_1_2?]
685
+ # (aliased as {::is_version_1_2?}[rdoc-ref:Net::HTTP.is_version_1_2?]
686
+ # and {::version_1_2}[rdoc-ref:Net::HTTP.version_1_2]):
687
+ # Returns true; retained for compatibility.
688
+ #
689
+ # === Debugging
690
+ #
691
+ # - {#set_debug_output}[rdoc-ref:Net::HTTP#set_debug_output]:
692
+ # Sets the output stream for debugging.
693
+ #
694
+ # source://net-http//lib/net/http.rb#722
695
+ class Net::HTTP < ::Net::Protocol
696
+ # Creates a new \Net::HTTP object for the specified server address,
697
+ # without opening the TCP connection or initializing the \HTTP session.
698
+ # The +address+ should be a DNS hostname or IP address.
699
+ #
700
+ # @return [HTTP] a new instance of HTTP
701
+ #
702
+ # source://net-http//lib/net/http.rb#1093
703
+ def initialize(address, port = T.unsafe(nil)); end
704
+
705
+ # Returns +true+ if the \HTTP session has been started:
706
+ #
707
+ # http = Net::HTTP.new(hostname)
708
+ # http.started? # => false
709
+ # http.start
710
+ # http.started? # => true
711
+ # http.finish # => nil
712
+ # http.started? # => false
713
+ #
714
+ # Net::HTTP.start(hostname) do |http|
715
+ # http.started?
716
+ # end # => true
717
+ # http.started? # => false
718
+ #
719
+ # @return [Boolean]
720
+ #
721
+ # source://net-http//lib/net/http.rb#1413
722
+ def active?; end
723
+
724
+ # Returns the string host name or host IP given as argument +address+ in ::new.
725
+ #
726
+ # source://net-http//lib/net/http.rb#1194
727
+ def address; end
728
+
729
+ # Sets or returns the path to a CA certification file in PEM format.
730
+ #
731
+ # source://net-http//lib/net/http.rb#1479
732
+ def ca_file; end
733
+
734
+ # Sets or returns the path to a CA certification file in PEM format.
735
+ #
736
+ # source://net-http//lib/net/http.rb#1479
737
+ def ca_file=(_arg0); end
738
+
739
+ # Sets or returns the path of to CA directory
740
+ # containing certification files in PEM format.
741
+ #
742
+ # source://net-http//lib/net/http.rb#1483
743
+ def ca_path; end
744
+
745
+ # Sets or returns the path of to CA directory
746
+ # containing certification files in PEM format.
747
+ #
748
+ # source://net-http//lib/net/http.rb#1483
749
+ def ca_path=(_arg0); end
750
+
751
+ # Sets or returns the OpenSSL::X509::Certificate object
752
+ # to be used for client certification.
753
+ #
754
+ # source://net-http//lib/net/http.rb#1487
755
+ def cert; end
756
+
757
+ # Sets or returns the OpenSSL::X509::Certificate object
758
+ # to be used for client certification.
759
+ #
760
+ # source://net-http//lib/net/http.rb#1487
761
+ def cert=(_arg0); end
762
+
763
+ # Sets or returns the X509::Store to be used for verifying peer certificate.
764
+ #
765
+ # source://net-http//lib/net/http.rb#1490
766
+ def cert_store; end
767
+
768
+ # Sets or returns the X509::Store to be used for verifying peer certificate.
769
+ #
770
+ # source://net-http//lib/net/http.rb#1490
771
+ def cert_store=(_arg0); end
772
+
773
+ # Sets or returns the available SSL ciphers.
774
+ # See {OpenSSL::SSL::SSLContext#ciphers=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-ciphers-3D].
775
+ #
776
+ # source://net-http//lib/net/http.rb#1494
777
+ def ciphers; end
778
+
779
+ # Sets or returns the available SSL ciphers.
780
+ # See {OpenSSL::SSL::SSLContext#ciphers=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-ciphers-3D].
781
+ #
782
+ # source://net-http//lib/net/http.rb#1494
783
+ def ciphers=(_arg0); end
784
+
785
+ # Sets or returns whether to close the connection when the response is empty;
786
+ # initially +false+.
787
+ #
788
+ # source://net-http//lib/net/http.rb#1421
789
+ def close_on_empty_response; end
790
+
791
+ # Sets or returns whether to close the connection when the response is empty;
792
+ # initially +false+.
793
+ #
794
+ # source://net-http//lib/net/http.rb#1421
795
+ def close_on_empty_response=(_arg0); end
796
+
797
+ # Returns the continue timeout value;
798
+ # see continue_timeout=.
799
+ #
800
+ # source://net-http//lib/net/http.rb#1374
801
+ def continue_timeout; end
802
+
803
+ # Sets the continue timeout value,
804
+ # which is the number of seconds to wait for an expected 100 Continue response.
805
+ # If the \HTTP object does not receive a response in this many seconds
806
+ # it sends the request body.
807
+ #
808
+ # source://net-http//lib/net/http.rb#1380
809
+ def continue_timeout=(sec); end
810
+
811
+ # Sends a COPY request to the server;
812
+ # returns an instance of a subclass of Net::HTTPResponse.
813
+ #
814
+ # The request is based on the Net::HTTP::Copy object
815
+ # created from string +path+ and initial headers hash +initheader+.
816
+ #
817
+ # http = Net::HTTP.new(hostname)
818
+ # http.copy('/todos/1')
819
+ #
820
+ # source://net-http//lib/net/http.rb#2123
821
+ def copy(path, initheader = T.unsafe(nil)); end
822
+
823
+ # Sends a DELETE request to the server;
824
+ # returns an instance of a subclass of Net::HTTPResponse.
825
+ #
826
+ # The request is based on the Net::HTTP::Delete object
827
+ # created from string +path+ and initial headers hash +initheader+.
828
+ #
829
+ # http = Net::HTTP.new(hostname)
830
+ # http.delete('/todos/1')
831
+ #
832
+ # source://net-http//lib/net/http.rb#2097
833
+ def delete(path, initheader = T.unsafe(nil)); end
834
+
835
+ # Sets or returns the extra X509 certificates to be added to the certificate chain.
836
+ # See {OpenSSL::SSL::SSLContext#add_certificate}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-add_certificate].
837
+ #
838
+ # source://net-http//lib/net/http.rb#1498
839
+ def extra_chain_cert; end
840
+
841
+ # Sets or returns the extra X509 certificates to be added to the certificate chain.
842
+ # See {OpenSSL::SSL::SSLContext#add_certificate}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-add_certificate].
843
+ #
844
+ # source://net-http//lib/net/http.rb#1498
845
+ def extra_chain_cert=(_arg0); end
846
+
847
+ # Finishes the \HTTP session:
848
+ #
849
+ # http = Net::HTTP.new(hostname)
850
+ # http.start
851
+ # http.started? # => true
852
+ # http.finish # => nil
853
+ # http.started? # => false
854
+ #
855
+ # Raises IOError if not in a session.
856
+ #
857
+ # @raise [IOError]
858
+ #
859
+ # source://net-http//lib/net/http.rb#1708
860
+ def finish; end
861
+
862
+ # :call-seq:
863
+ # get(path, initheader = nil) {|res| ... }
864
+ #
865
+ # Sends a GET request to the server;
866
+ # returns an instance of a subclass of Net::HTTPResponse.
867
+ #
868
+ # The request is based on the Net::HTTP::Get object
869
+ # created from string +path+ and initial headers hash +initheader+.
870
+ #
871
+ # With a block given, calls the block with the response body:
872
+ #
873
+ # http = Net::HTTP.new(hostname)
874
+ # http.get('/todos/1') do |res|
875
+ # p res
876
+ # end # => #<Net::HTTPOK 200 OK readbody=true>
877
+ #
878
+ # Output:
879
+ #
880
+ # "{\n \"userId\": 1,\n \"id\": 1,\n \"title\": \"delectus aut autem\",\n \"completed\": false\n}"
881
+ #
882
+ # With no block given, simply returns the response object:
883
+ #
884
+ # http.get('/') # => #<Net::HTTPOK 200 OK readbody=true>
885
+ #
886
+ # Related:
887
+ #
888
+ # - Net::HTTP::Get: request class for \HTTP method GET.
889
+ # - Net::HTTP.get: sends GET request, returns response body.
890
+ #
891
+ # source://net-http//lib/net/http.rb#1914
892
+ def get(path, initheader = T.unsafe(nil), dest = T.unsafe(nil), &block); end
893
+
894
+ # Sends a GET request to the server;
895
+ # forms the response into a Net::HTTPResponse object.
896
+ #
897
+ # The request is based on the Net::HTTP::Get object
898
+ # created from string +path+ and initial headers hash +initheader+.
899
+ #
900
+ # With no block given, returns the response object:
901
+ #
902
+ # http = Net::HTTP.new(hostname)
903
+ # http.request_get('/todos') # => #<Net::HTTPOK 200 OK readbody=true>
904
+ #
905
+ # With a block given, calls the block with the response object
906
+ # and returns the response object:
907
+ #
908
+ # http.request_get('/todos') do |res|
909
+ # p res
910
+ # end # => #<Net::HTTPOK 200 OK readbody=true>
911
+ #
912
+ # Output:
913
+ #
914
+ # #<Net::HTTPOK 200 OK readbody=false>
915
+ #
916
+ # source://net-http//lib/net/http.rb#2176
917
+ def get2(path, initheader = T.unsafe(nil), &block); end
918
+
919
+ # Sends a HEAD request to the server;
920
+ # returns an instance of a subclass of Net::HTTPResponse.
921
+ #
922
+ # The request is based on the Net::HTTP::Head object
923
+ # created from string +path+ and initial headers hash +initheader+:
924
+ #
925
+ # res = http.head('/todos/1') # => #<Net::HTTPOK 200 OK readbody=true>
926
+ # res.body # => nil
927
+ # res.to_hash.take(3)
928
+ # # =>
929
+ # [["date", ["Wed, 15 Feb 2023 15:25:42 GMT"]],
930
+ # ["content-type", ["application/json; charset=utf-8"]],
931
+ # ["connection", ["close"]]]
932
+ #
933
+ # source://net-http//lib/net/http.rb#1938
934
+ def head(path, initheader = T.unsafe(nil)); end
935
+
936
+ # Sends a HEAD request to the server;
937
+ # returns an instance of a subclass of Net::HTTPResponse.
938
+ #
939
+ # The request is based on the Net::HTTP::Head object
940
+ # created from string +path+ and initial headers hash +initheader+.
941
+ #
942
+ # http = Net::HTTP.new(hostname)
943
+ # http.head('/todos/1') # => #<Net::HTTPOK 200 OK readbody=true>
944
+ #
945
+ # source://net-http//lib/net/http.rb#2189
946
+ def head2(path, initheader = T.unsafe(nil), &block); end
947
+
948
+ # Sets or returns whether to ignore end-of-file when reading a response body
949
+ # with <tt>Content-Length</tt> headers;
950
+ # initially +true+.
951
+ #
952
+ # source://net-http//lib/net/http.rb#1397
953
+ def ignore_eof; end
954
+
955
+ # Sets or returns whether to ignore end-of-file when reading a response body
956
+ # with <tt>Content-Length</tt> headers;
957
+ # initially +true+.
958
+ #
959
+ # source://net-http//lib/net/http.rb#1397
960
+ def ignore_eof=(_arg0); end
961
+
962
+ # Returns a string representation of +self+:
963
+ #
964
+ # Net::HTTP.new(hostname).inspect
965
+ # # => "#<Net::HTTP jsonplaceholder.typicode.com:80 open=false>"
966
+ #
967
+ # source://net-http//lib/net/http.rb#1135
968
+ def inspect; end
969
+
970
+ # Returns the IP address for the connection.
971
+ #
972
+ # If the session has not been started,
973
+ # returns the value set by #ipaddr=,
974
+ # or +nil+ if it has not been set:
975
+ #
976
+ # http = Net::HTTP.new(hostname)
977
+ # http.ipaddr # => nil
978
+ # http.ipaddr = '172.67.155.76'
979
+ # http.ipaddr # => "172.67.155.76"
980
+ #
981
+ # If the session has been started,
982
+ # returns the IP address from the socket:
983
+ #
984
+ # http = Net::HTTP.new(hostname)
985
+ # http.start
986
+ # http.ipaddr # => "172.67.155.76"
987
+ # http.finish
988
+ #
989
+ # source://net-http//lib/net/http.rb#1274
990
+ def ipaddr; end
991
+
992
+ # Sets the IP address for the connection:
993
+ #
994
+ # http = Net::HTTP.new(hostname)
995
+ # http.ipaddr # => nil
996
+ # http.ipaddr = '172.67.155.76'
997
+ # http.ipaddr # => "172.67.155.76"
998
+ #
999
+ # The IP address may not be set if the session has been started.
1000
+ #
1001
+ # @raise [IOError]
1002
+ #
1003
+ # source://net-http//lib/net/http.rb#1286
1004
+ def ipaddr=(addr); end
1005
+
1006
+ # Sets or returns the numeric (\Integer or \Float) number of seconds
1007
+ # to keep the connection open after a request is sent;
1008
+ # initially 2.
1009
+ # If a new request is made during the given interval,
1010
+ # the still-open connection is used;
1011
+ # otherwise the connection will have been closed
1012
+ # and a new connection is opened.
1013
+ #
1014
+ # source://net-http//lib/net/http.rb#1392
1015
+ def keep_alive_timeout; end
1016
+
1017
+ # Sets or returns the numeric (\Integer or \Float) number of seconds
1018
+ # to keep the connection open after a request is sent;
1019
+ # initially 2.
1020
+ # If a new request is made during the given interval,
1021
+ # the still-open connection is used;
1022
+ # otherwise the connection will have been closed
1023
+ # and a new connection is opened.
1024
+ #
1025
+ # source://net-http//lib/net/http.rb#1392
1026
+ def keep_alive_timeout=(_arg0); end
1027
+
1028
+ # Sets or returns the OpenSSL::PKey::RSA or OpenSSL::PKey::DSA object.
1029
+ #
1030
+ # source://net-http//lib/net/http.rb#1501
1031
+ def key; end
1032
+
1033
+ # Sets or returns the OpenSSL::PKey::RSA or OpenSSL::PKey::DSA object.
1034
+ #
1035
+ # source://net-http//lib/net/http.rb#1501
1036
+ def key=(_arg0); end
1037
+
1038
+ # Sets or returns the string local host used to establish the connection;
1039
+ # initially +nil+.
1040
+ #
1041
+ # source://net-http//lib/net/http.rb#1201
1042
+ def local_host; end
1043
+
1044
+ # Sets or returns the string local host used to establish the connection;
1045
+ # initially +nil+.
1046
+ #
1047
+ # source://net-http//lib/net/http.rb#1201
1048
+ def local_host=(_arg0); end
1049
+
1050
+ # Sets or returns the integer local port used to establish the connection;
1051
+ # initially +nil+.
1052
+ #
1053
+ # source://net-http//lib/net/http.rb#1205
1054
+ def local_port; end
1055
+
1056
+ # Sets or returns the integer local port used to establish the connection;
1057
+ # initially +nil+.
1058
+ #
1059
+ # source://net-http//lib/net/http.rb#1205
1060
+ def local_port=(_arg0); end
1061
+
1062
+ # Sends a LOCK request to the server;
1063
+ # returns an instance of a subclass of Net::HTTPResponse.
1064
+ #
1065
+ # The request is based on the Net::HTTP::Lock object
1066
+ # created from string +path+, string +body+, and initial headers hash +initheader+.
1067
+ #
1068
+ # data = '{"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}'
1069
+ # http = Net::HTTP.new(hostname)
1070
+ # http.lock('/todos/1', data)
1071
+ #
1072
+ # source://net-http//lib/net/http.rb#2043
1073
+ def lock(path, body, initheader = T.unsafe(nil)); end
1074
+
1075
+ # Returns the maximum number of times to retry an idempotent request;
1076
+ # see #max_retries=.
1077
+ #
1078
+ # source://net-http//lib/net/http.rb#1330
1079
+ def max_retries; end
1080
+
1081
+ # Sets the maximum number of times to retry an idempotent request in case of
1082
+ # \Net::ReadTimeout, IOError, EOFError, Errno::ECONNRESET,
1083
+ # Errno::ECONNABORTED, Errno::EPIPE, OpenSSL::SSL::SSLError,
1084
+ # Timeout::Error.
1085
+ # The initial value is 1.
1086
+ #
1087
+ # Argument +retries+ must be a non-negative numeric value:
1088
+ #
1089
+ # http = Net::HTTP.new(hostname)
1090
+ # http.max_retries = 2 # => 2
1091
+ # http.max_retries # => 2
1092
+ #
1093
+ # source://net-http//lib/net/http.rb#1320
1094
+ def max_retries=(retries); end
1095
+
1096
+ # Sets or returns the maximum SSL version.
1097
+ # See {OpenSSL::SSL::SSLContext#max_version=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-max_version-3D].
1098
+ #
1099
+ # source://net-http//lib/net/http.rb#1516
1100
+ def max_version; end
1101
+
1102
+ # Sets or returns the maximum SSL version.
1103
+ # See {OpenSSL::SSL::SSLContext#max_version=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-max_version-3D].
1104
+ #
1105
+ # source://net-http//lib/net/http.rb#1516
1106
+ def max_version=(_arg0); end
1107
+
1108
+ # Sets or returns the minimum SSL version.
1109
+ # See {OpenSSL::SSL::SSLContext#min_version=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-min_version-3D].
1110
+ #
1111
+ # source://net-http//lib/net/http.rb#1512
1112
+ def min_version; end
1113
+
1114
+ # Sets or returns the minimum SSL version.
1115
+ # See {OpenSSL::SSL::SSLContext#min_version=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-min_version-3D].
1116
+ #
1117
+ # source://net-http//lib/net/http.rb#1512
1118
+ def min_version=(_arg0); end
1119
+
1120
+ # Sends a MKCOL request to the server;
1121
+ # returns an instance of a subclass of Net::HTTPResponse.
1122
+ #
1123
+ # The request is based on the Net::HTTP::Mkcol object
1124
+ # created from string +path+, string +body+, and initial headers hash +initheader+.
1125
+ #
1126
+ # data = '{"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}'
1127
+ # http.mkcol('/todos/1', data)
1128
+ # http = Net::HTTP.new(hostname)
1129
+ #
1130
+ # source://net-http//lib/net/http.rb#2137
1131
+ def mkcol(path, body = T.unsafe(nil), initheader = T.unsafe(nil)); end
1132
+
1133
+ # Sends a MOVE request to the server;
1134
+ # returns an instance of a subclass of Net::HTTPResponse.
1135
+ #
1136
+ # The request is based on the Net::HTTP::Move object
1137
+ # created from string +path+ and initial headers hash +initheader+.
1138
+ #
1139
+ # http = Net::HTTP.new(hostname)
1140
+ # http.move('/todos/1')
1141
+ #
1142
+ # source://net-http//lib/net/http.rb#2110
1143
+ def move(path, initheader = T.unsafe(nil)); end
1144
+
1145
+ # Sets or returns the numeric (\Integer or \Float) number of seconds
1146
+ # to wait for a connection to open;
1147
+ # initially 60.
1148
+ # If the connection is not made in the given interval,
1149
+ # an exception is raised.
1150
+ #
1151
+ # source://net-http//lib/net/http.rb#1296
1152
+ def open_timeout; end
1153
+
1154
+ # Sets or returns the numeric (\Integer or \Float) number of seconds
1155
+ # to wait for a connection to open;
1156
+ # initially 60.
1157
+ # If the connection is not made in the given interval,
1158
+ # an exception is raised.
1159
+ #
1160
+ # source://net-http//lib/net/http.rb#1296
1161
+ def open_timeout=(_arg0); end
1162
+
1163
+ # Sends an Options request to the server;
1164
+ # returns an instance of a subclass of Net::HTTPResponse.
1165
+ #
1166
+ # The request is based on the Net::HTTP::Options object
1167
+ # created from string +path+ and initial headers hash +initheader+.
1168
+ #
1169
+ # http = Net::HTTP.new(hostname)
1170
+ # http.options('/')
1171
+ #
1172
+ # source://net-http//lib/net/http.rb#2070
1173
+ def options(path, initheader = T.unsafe(nil)); end
1174
+
1175
+ # :call-seq:
1176
+ # patch(path, data, initheader = nil) {|res| ... }
1177
+ #
1178
+ # Sends a PATCH request to the server;
1179
+ # returns an instance of a subclass of Net::HTTPResponse.
1180
+ #
1181
+ # The request is based on the Net::HTTP::Patch object
1182
+ # created from string +path+, string +data+, and initial headers hash +initheader+.
1183
+ #
1184
+ # With a block given, calls the block with the response body:
1185
+ #
1186
+ # data = '{"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}'
1187
+ # http = Net::HTTP.new(hostname)
1188
+ # http.patch('/todos/1', data) do |res|
1189
+ # p res
1190
+ # end # => #<Net::HTTPOK 200 OK readbody=true>
1191
+ #
1192
+ # Output:
1193
+ #
1194
+ # "{\n \"userId\": 1,\n \"id\": 1,\n \"title\": \"delectus aut autem\",\n \"completed\": false,\n \"{\\\"userId\\\": 1, \\\"id\\\": 1, \\\"title\\\": \\\"delectus aut autem\\\", \\\"completed\\\": false}\": \"\"\n}"
1195
+ #
1196
+ # With no block given, simply returns the response object:
1197
+ #
1198
+ # http.patch('/todos/1', data) # => #<Net::HTTPCreated 201 Created readbody=true>
1199
+ #
1200
+ # source://net-http//lib/net/http.rb#2001
1201
+ def patch(path, data, initheader = T.unsafe(nil), dest = T.unsafe(nil), &block); end
1202
+
1203
+ # Returns the X509 certificate chain (an array of strings)
1204
+ # for the session's socket peer,
1205
+ # or +nil+ if none.
1206
+ #
1207
+ # source://net-http//lib/net/http.rb#1537
1208
+ def peer_cert; end
1209
+
1210
+ # Returns the integer port number given as argument +port+ in ::new.
1211
+ #
1212
+ # source://net-http//lib/net/http.rb#1197
1213
+ def port; end
1214
+
1215
+ # :call-seq:
1216
+ # post(path, data, initheader = nil) {|res| ... }
1217
+ #
1218
+ # Sends a POST request to the server;
1219
+ # returns an instance of a subclass of Net::HTTPResponse.
1220
+ #
1221
+ # The request is based on the Net::HTTP::Post object
1222
+ # created from string +path+, string +data+, and initial headers hash +initheader+.
1223
+ #
1224
+ # With a block given, calls the block with the response body:
1225
+ #
1226
+ # data = '{"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}'
1227
+ # http = Net::HTTP.new(hostname)
1228
+ # http.post('/todos', data) do |res|
1229
+ # p res
1230
+ # end # => #<Net::HTTPCreated 201 Created readbody=true>
1231
+ #
1232
+ # Output:
1233
+ #
1234
+ # "{\n \"{\\\"userId\\\": 1, \\\"id\\\": 1, \\\"title\\\": \\\"delectus aut autem\\\", \\\"completed\\\": false}\": \"\",\n \"id\": 201\n}"
1235
+ #
1236
+ # With no block given, simply returns the response object:
1237
+ #
1238
+ # http.post('/todos', data) # => #<Net::HTTPCreated 201 Created readbody=true>
1239
+ #
1240
+ # Related:
1241
+ #
1242
+ # - Net::HTTP::Post: request class for \HTTP method POST.
1243
+ # - Net::HTTP.post: sends POST request, returns response body.
1244
+ #
1245
+ # source://net-http//lib/net/http.rb#1972
1246
+ def post(path, data, initheader = T.unsafe(nil), dest = T.unsafe(nil), &block); end
1247
+
1248
+ # Sends a POST request to the server;
1249
+ # forms the response into a Net::HTTPResponse object.
1250
+ #
1251
+ # The request is based on the Net::HTTP::Post object
1252
+ # created from string +path+, string +data+, and initial headers hash +initheader+.
1253
+ #
1254
+ # With no block given, returns the response object:
1255
+ #
1256
+ # http = Net::HTTP.new(hostname)
1257
+ # http.post('/todos', 'xyzzy')
1258
+ # # => #<Net::HTTPCreated 201 Created readbody=true>
1259
+ #
1260
+ # With a block given, calls the block with the response body
1261
+ # and returns the response object:
1262
+ #
1263
+ # http.post('/todos', 'xyzzy') do |res|
1264
+ # p res
1265
+ # end # => #<Net::HTTPCreated 201 Created readbody=true>
1266
+ #
1267
+ # Output:
1268
+ #
1269
+ # "{\n \"xyzzy\": \"\",\n \"id\": 201\n}"
1270
+ #
1271
+ # source://net-http//lib/net/http.rb#2216
1272
+ def post2(path, data, initheader = T.unsafe(nil), &block); end
1273
+
1274
+ # Sends a PROPFIND request to the server;
1275
+ # returns an instance of a subclass of Net::HTTPResponse.
1276
+ #
1277
+ # The request is based on the Net::HTTP::Propfind object
1278
+ # created from string +path+, string +body+, and initial headers hash +initheader+.
1279
+ #
1280
+ # data = '{"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}'
1281
+ # http = Net::HTTP.new(hostname)
1282
+ # http.propfind('/todos/1', data)
1283
+ #
1284
+ # source://net-http//lib/net/http.rb#2084
1285
+ def propfind(path, body = T.unsafe(nil), initheader = T.unsafe(nil)); end
1286
+
1287
+ # Sends a PROPPATCH request to the server;
1288
+ # returns an instance of a subclass of Net::HTTPResponse.
1289
+ #
1290
+ # The request is based on the Net::HTTP::Proppatch object
1291
+ # created from string +path+, string +body+, and initial headers hash +initheader+.
1292
+ #
1293
+ # data = '{"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}'
1294
+ # http = Net::HTTP.new(hostname)
1295
+ # http.proppatch('/todos/1', data)
1296
+ #
1297
+ # source://net-http//lib/net/http.rb#2029
1298
+ def proppatch(path, body, initheader = T.unsafe(nil)); end
1299
+
1300
+ # Returns +true+ if a proxy server is defined, +false+ otherwise;
1301
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
1302
+ #
1303
+ # @return [Boolean]
1304
+ #
1305
+ # source://net-http//lib/net/http.rb#1785
1306
+ def proxy?; end
1307
+
1308
+ # Returns the address of the proxy server, if defined, +nil+ otherwise;
1309
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
1310
+ #
1311
+ # source://net-http//lib/net/http.rb#1807
1312
+ def proxy_address; end
1313
+
1314
+ # Sets the proxy address;
1315
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
1316
+ #
1317
+ # source://net-http//lib/net/http.rb#1241
1318
+ def proxy_address=(_arg0); end
1319
+
1320
+ # Sets whether to determine the proxy from environment variable
1321
+ # '<tt>ENV['http_proxy']</tt>';
1322
+ # see {Proxy Using ENV['http_proxy']}[rdoc-ref:Net::HTTP@Proxy+Using+-27ENV-5B-27http_proxy-27-5D-27].
1323
+ #
1324
+ # source://net-http//lib/net/http.rb#1237
1325
+ def proxy_from_env=(_arg0); end
1326
+
1327
+ # Returns +true+ if the proxy server is defined in the environment,
1328
+ # +false+ otherwise;
1329
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
1330
+ #
1331
+ # @return [Boolean]
1332
+ #
1333
+ # source://net-http//lib/net/http.rb#1792
1334
+ def proxy_from_env?; end
1335
+
1336
+ # Returns the password of the proxy server, if defined, +nil+ otherwise;
1337
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
1338
+ #
1339
+ # source://net-http//lib/net/http.rb#1838
1340
+ def proxy_pass; end
1341
+
1342
+ # Sets the proxy password;
1343
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
1344
+ #
1345
+ # source://net-http//lib/net/http.rb#1253
1346
+ def proxy_pass=(_arg0); end
1347
+
1348
+ # Returns the port number of the proxy server, if defined, +nil+ otherwise;
1349
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
1350
+ #
1351
+ # source://net-http//lib/net/http.rb#1817
1352
+ def proxy_port; end
1353
+
1354
+ # Sets the proxy port;
1355
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
1356
+ #
1357
+ # source://net-http//lib/net/http.rb#1245
1358
+ def proxy_port=(_arg0); end
1359
+
1360
+ # The proxy URI determined from the environment for this connection.
1361
+ #
1362
+ # source://net-http//lib/net/http.rb#1797
1363
+ def proxy_uri; end
1364
+
1365
+ # Returns the user name of the proxy server, if defined, +nil+ otherwise;
1366
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
1367
+ #
1368
+ # source://net-http//lib/net/http.rb#1827
1369
+ def proxy_user; end
1370
+
1371
+ # Sets the proxy user;
1372
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
1373
+ #
1374
+ # source://net-http//lib/net/http.rb#1249
1375
+ def proxy_user=(_arg0); end
1376
+
1377
+ # Returns the address of the proxy server, if defined, +nil+ otherwise;
1378
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
1379
+ #
1380
+ # source://net-http//lib/net/http.rb#1807
1381
+ def proxyaddr; end
1382
+
1383
+ # Returns the port number of the proxy server, if defined, +nil+ otherwise;
1384
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
1385
+ #
1386
+ # source://net-http//lib/net/http.rb#1817
1387
+ def proxyport; end
1388
+
1389
+ # Sends a PUT request to the server;
1390
+ # returns an instance of a subclass of Net::HTTPResponse.
1391
+ #
1392
+ # The request is based on the Net::HTTP::Put object
1393
+ # created from string +path+, string +data+, and initial headers hash +initheader+.
1394
+ #
1395
+ # data = '{"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}'
1396
+ # http = Net::HTTP.new(hostname)
1397
+ # http.put('/todos/1', data) # => #<Net::HTTPOK 200 OK readbody=true>
1398
+ #
1399
+ # source://net-http//lib/net/http.rb#2015
1400
+ def put(path, data, initheader = T.unsafe(nil)); end
1401
+
1402
+ # Sends a PUT request to the server;
1403
+ # returns an instance of a subclass of Net::HTTPResponse.
1404
+ #
1405
+ # The request is based on the Net::HTTP::Put object
1406
+ # created from string +path+, string +data+, and initial headers hash +initheader+.
1407
+ #
1408
+ # http = Net::HTTP.new(hostname)
1409
+ # http.put('/todos/1', 'xyzzy')
1410
+ # # => #<Net::HTTPOK 200 OK readbody=true>
1411
+ #
1412
+ # source://net-http//lib/net/http.rb#2230
1413
+ def put2(path, data, initheader = T.unsafe(nil), &block); end
1414
+
1415
+ # Returns the numeric (\Integer or \Float) number of seconds
1416
+ # to wait for one block to be read (via one read(2) call);
1417
+ # see #read_timeout=.
1418
+ #
1419
+ # source://net-http//lib/net/http.rb#1301
1420
+ def read_timeout; end
1421
+
1422
+ # Sets the read timeout, in seconds, for +self+ to integer +sec+;
1423
+ # the initial value is 60.
1424
+ #
1425
+ # Argument +sec+ must be a non-negative numeric value:
1426
+ #
1427
+ # http = Net::HTTP.new(hostname)
1428
+ # http.read_timeout # => 60
1429
+ # http.get('/todos/1') # => #<Net::HTTPOK 200 OK readbody=true>
1430
+ # http.read_timeout = 0
1431
+ # http.get('/todos/1') # Raises Net::ReadTimeout.
1432
+ #
1433
+ # source://net-http//lib/net/http.rb#1343
1434
+ def read_timeout=(sec); end
1435
+
1436
+ # Sends the given request +req+ to the server;
1437
+ # forms the response into a Net::HTTPResponse object.
1438
+ #
1439
+ # The given +req+ must be an instance of a
1440
+ # {subclass of Net::HTTPRequest}[rdoc-ref:Net::HTTPRequest@Request+Subclasses].
1441
+ # Argument +body+ should be given only if needed for the request.
1442
+ #
1443
+ # With no block given, returns the response object:
1444
+ #
1445
+ # http = Net::HTTP.new(hostname)
1446
+ #
1447
+ # req = Net::HTTP::Get.new('/todos/1')
1448
+ # http.request(req)
1449
+ # # => #<Net::HTTPOK 200 OK readbody=true>
1450
+ #
1451
+ # req = Net::HTTP::Post.new('/todos')
1452
+ # http.request(req, 'xyzzy')
1453
+ # # => #<Net::HTTPCreated 201 Created readbody=true>
1454
+ #
1455
+ # With a block given, calls the block with the response and returns the response:
1456
+ #
1457
+ # req = Net::HTTP::Get.new('/todos/1')
1458
+ # http.request(req) do |res|
1459
+ # p res
1460
+ # end # => #<Net::HTTPOK 200 OK readbody=true>
1461
+ #
1462
+ # Output:
1463
+ #
1464
+ # #<Net::HTTPOK 200 OK readbody=false>
1465
+ #
1466
+ # source://net-http//lib/net/http.rb#2295
1467
+ def request(req, body = T.unsafe(nil), &block); end
1468
+
1469
+ # Sends a GET request to the server;
1470
+ # forms the response into a Net::HTTPResponse object.
1471
+ #
1472
+ # The request is based on the Net::HTTP::Get object
1473
+ # created from string +path+ and initial headers hash +initheader+.
1474
+ #
1475
+ # With no block given, returns the response object:
1476
+ #
1477
+ # http = Net::HTTP.new(hostname)
1478
+ # http.request_get('/todos') # => #<Net::HTTPOK 200 OK readbody=true>
1479
+ #
1480
+ # With a block given, calls the block with the response object
1481
+ # and returns the response object:
1482
+ #
1483
+ # http.request_get('/todos') do |res|
1484
+ # p res
1485
+ # end # => #<Net::HTTPOK 200 OK readbody=true>
1486
+ #
1487
+ # Output:
1488
+ #
1489
+ # #<Net::HTTPOK 200 OK readbody=false>
1490
+ #
1491
+ # source://net-http//lib/net/http.rb#2176
1492
+ def request_get(path, initheader = T.unsafe(nil), &block); end
1493
+
1494
+ # Sends a HEAD request to the server;
1495
+ # returns an instance of a subclass of Net::HTTPResponse.
1496
+ #
1497
+ # The request is based on the Net::HTTP::Head object
1498
+ # created from string +path+ and initial headers hash +initheader+.
1499
+ #
1500
+ # http = Net::HTTP.new(hostname)
1501
+ # http.head('/todos/1') # => #<Net::HTTPOK 200 OK readbody=true>
1502
+ #
1503
+ # source://net-http//lib/net/http.rb#2189
1504
+ def request_head(path, initheader = T.unsafe(nil), &block); end
1505
+
1506
+ # Sends a POST request to the server;
1507
+ # forms the response into a Net::HTTPResponse object.
1508
+ #
1509
+ # The request is based on the Net::HTTP::Post object
1510
+ # created from string +path+, string +data+, and initial headers hash +initheader+.
1511
+ #
1512
+ # With no block given, returns the response object:
1513
+ #
1514
+ # http = Net::HTTP.new(hostname)
1515
+ # http.post('/todos', 'xyzzy')
1516
+ # # => #<Net::HTTPCreated 201 Created readbody=true>
1517
+ #
1518
+ # With a block given, calls the block with the response body
1519
+ # and returns the response object:
1520
+ #
1521
+ # http.post('/todos', 'xyzzy') do |res|
1522
+ # p res
1523
+ # end # => #<Net::HTTPCreated 201 Created readbody=true>
1524
+ #
1525
+ # Output:
1526
+ #
1527
+ # "{\n \"xyzzy\": \"\",\n \"id\": 201\n}"
1528
+ #
1529
+ # source://net-http//lib/net/http.rb#2216
1530
+ def request_post(path, data, initheader = T.unsafe(nil), &block); end
1531
+
1532
+ # Sends a PUT request to the server;
1533
+ # returns an instance of a subclass of Net::HTTPResponse.
1534
+ #
1535
+ # The request is based on the Net::HTTP::Put object
1536
+ # created from string +path+, string +data+, and initial headers hash +initheader+.
1537
+ #
1538
+ # http = Net::HTTP.new(hostname)
1539
+ # http.put('/todos/1', 'xyzzy')
1540
+ # # => #<Net::HTTPOK 200 OK readbody=true>
1541
+ #
1542
+ # source://net-http//lib/net/http.rb#2230
1543
+ def request_put(path, data, initheader = T.unsafe(nil), &block); end
1544
+
1545
+ # Returns the encoding to use for the response body;
1546
+ # see #response_body_encoding=.
1547
+ #
1548
+ # source://net-http//lib/net/http.rb#1209
1549
+ def response_body_encoding; end
1550
+
1551
+ # Sets the encoding to be used for the response body;
1552
+ # returns the encoding.
1553
+ #
1554
+ # The given +value+ may be:
1555
+ #
1556
+ # - An Encoding object.
1557
+ # - The name of an encoding.
1558
+ # - An alias for an encoding name.
1559
+ #
1560
+ # See {Encoding}[https://docs.ruby-lang.org/en/master/Encoding.html].
1561
+ #
1562
+ # Examples:
1563
+ #
1564
+ # http = Net::HTTP.new(hostname)
1565
+ # http.response_body_encoding = Encoding::US_ASCII # => #<Encoding:US-ASCII>
1566
+ # http.response_body_encoding = 'US-ASCII' # => "US-ASCII"
1567
+ # http.response_body_encoding = 'ASCII' # => "ASCII"
1568
+ #
1569
+ # source://net-http//lib/net/http.rb#1229
1570
+ def response_body_encoding=(value); end
1571
+
1572
+ # Sends an \HTTP request to the server;
1573
+ # returns an instance of a subclass of Net::HTTPResponse.
1574
+ #
1575
+ # The request is based on the Net::HTTPRequest object
1576
+ # created from string +path+, string +data+, and initial headers hash +header+.
1577
+ # That object is an instance of the
1578
+ # {subclass of Net::HTTPRequest}[rdoc-ref:Net::HTTPRequest@Request+Subclasses],
1579
+ # that corresponds to the given uppercase string +name+,
1580
+ # which must be
1581
+ # an {HTTP request method}[https://en.wikipedia.org/wiki/HTTP#Request_methods]
1582
+ # or a {WebDAV request method}[https://en.wikipedia.org/wiki/WebDAV#Implementation].
1583
+ #
1584
+ # Examples:
1585
+ #
1586
+ # http = Net::HTTP.new(hostname)
1587
+ # http.send_request('GET', '/todos/1')
1588
+ # # => #<Net::HTTPOK 200 OK readbody=true>
1589
+ # http.send_request('POST', '/todos', 'xyzzy')
1590
+ # # => #<Net::HTTPCreated 201 Created readbody=true>
1591
+ #
1592
+ # source://net-http//lib/net/http.rb#2259
1593
+ def send_request(name, path, data = T.unsafe(nil), header = T.unsafe(nil)); end
1594
+
1595
+ # *WARNING* This method opens a serious security hole.
1596
+ # Never use this method in production code.
1597
+ #
1598
+ # Sets the output stream for debugging:
1599
+ #
1600
+ # http = Net::HTTP.new(hostname)
1601
+ # File.open('t.tmp', 'w') do |file|
1602
+ # http.set_debug_output(file)
1603
+ # http.start
1604
+ # http.get('/nosuch/1')
1605
+ # http.finish
1606
+ # end
1607
+ # puts File.read('t.tmp')
1608
+ #
1609
+ # Output:
1610
+ #
1611
+ # opening connection to jsonplaceholder.typicode.com:80...
1612
+ # opened
1613
+ # <- "GET /nosuch/1 HTTP/1.1\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nUser-Agent: Ruby\r\nHost: jsonplaceholder.typicode.com\r\n\r\n"
1614
+ # -> "HTTP/1.1 404 Not Found\r\n"
1615
+ # -> "Date: Mon, 12 Dec 2022 21:14:11 GMT\r\n"
1616
+ # -> "Content-Type: application/json; charset=utf-8\r\n"
1617
+ # -> "Content-Length: 2\r\n"
1618
+ # -> "Connection: keep-alive\r\n"
1619
+ # -> "X-Powered-By: Express\r\n"
1620
+ # -> "X-Ratelimit-Limit: 1000\r\n"
1621
+ # -> "X-Ratelimit-Remaining: 999\r\n"
1622
+ # -> "X-Ratelimit-Reset: 1670879660\r\n"
1623
+ # -> "Vary: Origin, Accept-Encoding\r\n"
1624
+ # -> "Access-Control-Allow-Credentials: true\r\n"
1625
+ # -> "Cache-Control: max-age=43200\r\n"
1626
+ # -> "Pragma: no-cache\r\n"
1627
+ # -> "Expires: -1\r\n"
1628
+ # -> "X-Content-Type-Options: nosniff\r\n"
1629
+ # -> "Etag: W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"\r\n"
1630
+ # -> "Via: 1.1 vegur\r\n"
1631
+ # -> "CF-Cache-Status: MISS\r\n"
1632
+ # -> "Server-Timing: cf-q-config;dur=1.3000000762986e-05\r\n"
1633
+ # -> "Report-To: {\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v3?s=yOr40jo%2BwS1KHzhTlVpl54beJ5Wx2FcG4gGV0XVrh3X9OlR5q4drUn2dkt5DGO4GDcE%2BVXT7CNgJvGs%2BZleIyMu8CLieFiDIvOviOY3EhHg94m0ZNZgrEdpKD0S85S507l1vsEwEHkoTm%2Ff19SiO\"}],\"group\":\"cf-nel\",\"max_age\":604800}\r\n"
1634
+ # -> "NEL: {\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}\r\n"
1635
+ # -> "Server: cloudflare\r\n"
1636
+ # -> "CF-RAY: 778977dc484ce591-DFW\r\n"
1637
+ # -> "alt-svc: h3=\":443\"; ma=86400, h3-29=\":443\"; ma=86400\r\n"
1638
+ # -> "\r\n"
1639
+ # reading 2 bytes...
1640
+ # -> "{}"
1641
+ # read 2 bytes
1642
+ # Conn keep-alive
1643
+ #
1644
+ # source://net-http//lib/net/http.rb#1188
1645
+ def set_debug_output(output); end
1646
+
1647
+ # Sets or returns the SSL timeout seconds.
1648
+ #
1649
+ # source://net-http//lib/net/http.rb#1504
1650
+ def ssl_timeout; end
1651
+
1652
+ # Sets or returns the SSL timeout seconds.
1653
+ #
1654
+ # source://net-http//lib/net/http.rb#1504
1655
+ def ssl_timeout=(_arg0); end
1656
+
1657
+ # Sets or returns the SSL version.
1658
+ # See {OpenSSL::SSL::SSLContext#ssl_version=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-ssl_version-3D].
1659
+ #
1660
+ # source://net-http//lib/net/http.rb#1508
1661
+ def ssl_version; end
1662
+
1663
+ # Sets or returns the SSL version.
1664
+ # See {OpenSSL::SSL::SSLContext#ssl_version=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-ssl_version-3D].
1665
+ #
1666
+ # source://net-http//lib/net/http.rb#1508
1667
+ def ssl_version=(_arg0); end
1668
+
1669
+ # Starts an \HTTP session.
1670
+ #
1671
+ # Without a block, returns +self+:
1672
+ #
1673
+ # http = Net::HTTP.new(hostname)
1674
+ # # => #<Net::HTTP jsonplaceholder.typicode.com:80 open=false>
1675
+ # http.start
1676
+ # # => #<Net::HTTP jsonplaceholder.typicode.com:80 open=true>
1677
+ # http.started? # => true
1678
+ # http.finish
1679
+ #
1680
+ # With a block, calls the block with +self+,
1681
+ # finishes the session when the block exits,
1682
+ # and returns the block's value:
1683
+ #
1684
+ # http.start do |http|
1685
+ # http
1686
+ # end
1687
+ # # => #<Net::HTTP jsonplaceholder.typicode.com:80 open=false>
1688
+ # http.started? # => false
1689
+ #
1690
+ # @raise [IOError]
1691
+ #
1692
+ # source://net-http//lib/net/http.rb#1565
1693
+ def start; end
1694
+
1695
+ # Returns +true+ if the \HTTP session has been started:
1696
+ #
1697
+ # http = Net::HTTP.new(hostname)
1698
+ # http.started? # => false
1699
+ # http.start
1700
+ # http.started? # => true
1701
+ # http.finish # => nil
1702
+ # http.started? # => false
1703
+ #
1704
+ # Net::HTTP.start(hostname) do |http|
1705
+ # http.started?
1706
+ # end # => true
1707
+ # http.started? # => false
1708
+ #
1709
+ # @return [Boolean]
1710
+ #
1711
+ # source://net-http//lib/net/http.rb#1413
1712
+ def started?; end
1713
+
1714
+ # Sends a TRACE request to the server;
1715
+ # returns an instance of a subclass of Net::HTTPResponse.
1716
+ #
1717
+ # The request is based on the Net::HTTP::Trace object
1718
+ # created from string +path+ and initial headers hash +initheader+.
1719
+ #
1720
+ # http = Net::HTTP.new(hostname)
1721
+ # http.trace('/todos/1')
1722
+ #
1723
+ # source://net-http//lib/net/http.rb#2150
1724
+ def trace(path, initheader = T.unsafe(nil)); end
1725
+
1726
+ # Sends an UNLOCK request to the server;
1727
+ # returns an instance of a subclass of Net::HTTPResponse.
1728
+ #
1729
+ # The request is based on the Net::HTTP::Unlock object
1730
+ # created from string +path+, string +body+, and initial headers hash +initheader+.
1731
+ #
1732
+ # data = '{"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}'
1733
+ # http = Net::HTTP.new(hostname)
1734
+ # http.unlock('/todos/1', data)
1735
+ #
1736
+ # source://net-http//lib/net/http.rb#2057
1737
+ def unlock(path, body, initheader = T.unsafe(nil)); end
1738
+
1739
+ # Sets whether a new session is to use
1740
+ # {Transport Layer Security}[https://en.wikipedia.org/wiki/Transport_Layer_Security]:
1741
+ #
1742
+ # Raises IOError if attempting to change during a session.
1743
+ #
1744
+ # Raises OpenSSL::SSL::SSLError if the port is not an HTTPS port.
1745
+ #
1746
+ # source://net-http//lib/net/http.rb#1435
1747
+ def use_ssl=(flag); end
1748
+
1749
+ # Returns +true+ if +self+ uses SSL, +false+ otherwise.
1750
+ # See Net::HTTP#use_ssl=.
1751
+ #
1752
+ # @return [Boolean]
1753
+ #
1754
+ # source://net-http//lib/net/http.rb#1425
1755
+ def use_ssl?; end
1756
+
1757
+ # Sets or returns the callback for the server certification verification.
1758
+ #
1759
+ # source://net-http//lib/net/http.rb#1519
1760
+ def verify_callback; end
1761
+
1762
+ # Sets or returns the callback for the server certification verification.
1763
+ #
1764
+ # source://net-http//lib/net/http.rb#1519
1765
+ def verify_callback=(_arg0); end
1766
+
1767
+ # Sets or returns the maximum depth for the certificate chain verification.
1768
+ #
1769
+ # source://net-http//lib/net/http.rb#1522
1770
+ def verify_depth; end
1771
+
1772
+ # Sets or returns the maximum depth for the certificate chain verification.
1773
+ #
1774
+ # source://net-http//lib/net/http.rb#1522
1775
+ def verify_depth=(_arg0); end
1776
+
1777
+ # Sets or returns whether to verify that the server certificate is valid
1778
+ # for the hostname.
1779
+ # See {OpenSSL::SSL::SSLContext#verify_hostname=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#attribute-i-verify_mode].
1780
+ #
1781
+ # source://net-http//lib/net/http.rb#1532
1782
+ def verify_hostname; end
1783
+
1784
+ # Sets or returns whether to verify that the server certificate is valid
1785
+ # for the hostname.
1786
+ # See {OpenSSL::SSL::SSLContext#verify_hostname=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#attribute-i-verify_mode].
1787
+ #
1788
+ # source://net-http//lib/net/http.rb#1532
1789
+ def verify_hostname=(_arg0); end
1790
+
1791
+ # Sets or returns the flags for server the certification verification
1792
+ # at the beginning of the SSL/TLS session.
1793
+ # OpenSSL::SSL::VERIFY_NONE or OpenSSL::SSL::VERIFY_PEER are acceptable.
1794
+ #
1795
+ # source://net-http//lib/net/http.rb#1527
1796
+ def verify_mode; end
1797
+
1798
+ # Sets or returns the flags for server the certification verification
1799
+ # at the beginning of the SSL/TLS session.
1800
+ # OpenSSL::SSL::VERIFY_NONE or OpenSSL::SSL::VERIFY_PEER are acceptable.
1801
+ #
1802
+ # source://net-http//lib/net/http.rb#1527
1803
+ def verify_mode=(_arg0); end
1804
+
1805
+ # Returns the numeric (\Integer or \Float) number of seconds
1806
+ # to wait for one block to be written (via one write(2) call);
1807
+ # see #write_timeout=.
1808
+ #
1809
+ # source://net-http//lib/net/http.rb#1306
1810
+ def write_timeout; end
1811
+
1812
+ # Sets the write timeout, in seconds, for +self+ to integer +sec+;
1813
+ # the initial value is 60.
1814
+ #
1815
+ # Argument +sec+ must be a non-negative numeric value:
1816
+ #
1817
+ # _uri = uri.dup
1818
+ # _uri.path = '/posts'
1819
+ # body = 'bar' * 200000
1820
+ # data = <<EOF
1821
+ # {"title": "foo", "body": "#{body}", "userId": "1"}
1822
+ # EOF
1823
+ # headers = {'content-type': 'application/json'}
1824
+ # http = Net::HTTP.new(hostname)
1825
+ # http.write_timeout # => 60
1826
+ # http.post(_uri.path, data, headers)
1827
+ # # => #<Net::HTTPCreated 201 Created readbody=true>
1828
+ # http.write_timeout = 0
1829
+ # http.post(_uri.path, data, headers) # Raises Net::WriteTimeout.
1830
+ #
1831
+ # source://net-http//lib/net/http.rb#1367
1832
+ def write_timeout=(sec); end
1833
+
1834
+ private
1835
+
1836
+ # Adds a message to debugging output
1837
+ #
1838
+ # source://net-http//lib/net/http.rb#2472
1839
+ def D(msg); end
1840
+
1841
+ # source://net-http//lib/net/http.rb#2464
1842
+ def addr_port; end
1843
+
1844
+ # source://net-http//lib/net/http.rb#2381
1845
+ def begin_transport(req); end
1846
+
1847
+ # without proxy, obsolete
1848
+ #
1849
+ # source://net-http//lib/net/http.rb#1859
1850
+ def conn_address; end
1851
+
1852
+ # source://net-http//lib/net/http.rb#1863
1853
+ def conn_port; end
1854
+
1855
+ # source://net-http//lib/net/http.rb#1585
1856
+ def connect; end
1857
+
1858
+ # Adds a message to debugging output
1859
+ #
1860
+ # source://net-http//lib/net/http.rb#2472
1861
+ def debug(msg); end
1862
+
1863
+ # source://net-http//lib/net/http.rb#1713
1864
+ def do_finish; end
1865
+
1866
+ # source://net-http//lib/net/http.rb#1579
1867
+ def do_start; end
1868
+
1869
+ # source://net-http//lib/net/http.rb#1867
1870
+ def edit_path(path); end
1871
+
1872
+ # source://net-http//lib/net/http.rb#2404
1873
+ def end_transport(req, res); end
1874
+
1875
+ # @return [Boolean]
1876
+ #
1877
+ # source://net-http//lib/net/http.rb#2421
1878
+ def keep_alive?(req, res); end
1879
+
1880
+ # source://net-http//lib/net/http.rb#1695
1881
+ def on_connect; end
1882
+
1883
+ # Executes a request which uses a representation
1884
+ # and returns its body.
1885
+ #
1886
+ # source://net-http//lib/net/http.rb#2318
1887
+ def send_entity(path, data, initheader, dest, type, &block); end
1888
+
1889
+ # source://net-http//lib/net/http.rb#2445
1890
+ def sspi_auth(req); end
1891
+
1892
+ # @return [Boolean]
1893
+ #
1894
+ # source://net-http//lib/net/http.rb#2430
1895
+ def sspi_auth?(res); end
1896
+
1897
+ # source://net-http//lib/net/http.rb#2329
1898
+ def transport_request(req); end
1899
+
1900
+ # source://net-http//lib/net/http.rb#1852
1901
+ def unescape(value); end
1902
+
1903
+ class << self
1904
+ # Creates an \HTTP proxy class which behaves like \Net::HTTP, but
1905
+ # performs all access via the specified proxy.
1906
+ #
1907
+ # This class is obsolete. You may pass these same parameters directly to
1908
+ # \Net::HTTP.new. See Net::HTTP.new for details of the arguments.
1909
+ #
1910
+ # source://net-http//lib/net/http.rb#1739
1911
+ def Proxy(p_addr = T.unsafe(nil), p_port = T.unsafe(nil), p_user = T.unsafe(nil), p_pass = T.unsafe(nil)); end
1912
+
1913
+ # Returns integer +80+, the default port to use for \HTTP requests:
1914
+ #
1915
+ # Net::HTTP.default_port # => 80
1916
+ #
1917
+ # source://net-http//lib/net/http.rb#900
1918
+ def default_port; end
1919
+
1920
+ # :call-seq:
1921
+ # Net::HTTP.get(hostname, path, port = 80) -> body
1922
+ # Net::HTTP:get(uri, headers = {}, port = uri.port) -> body
1923
+ #
1924
+ # Sends a GET request and returns the \HTTP response body as a string.
1925
+ #
1926
+ # With string arguments +hostname+ and +path+:
1927
+ #
1928
+ # hostname = 'jsonplaceholder.typicode.com'
1929
+ # path = '/todos/1'
1930
+ # puts Net::HTTP.get(hostname, path)
1931
+ #
1932
+ # Output:
1933
+ #
1934
+ # {
1935
+ # "userId": 1,
1936
+ # "id": 1,
1937
+ # "title": "delectus aut autem",
1938
+ # "completed": false
1939
+ # }
1940
+ #
1941
+ # With URI object +uri+ and optional hash argument +headers+:
1942
+ #
1943
+ # uri = URI('https://jsonplaceholder.typicode.com/todos/1')
1944
+ # headers = {'Content-type' => 'application/json; charset=UTF-8'}
1945
+ # Net::HTTP.get(uri, headers)
1946
+ #
1947
+ # Related:
1948
+ #
1949
+ # - Net::HTTP::Get: request class for \HTTP method +GET+.
1950
+ # - Net::HTTP#get: convenience method for \HTTP method +GET+.
1951
+ #
1952
+ # source://net-http//lib/net/http.rb#802
1953
+ def get(uri_or_host, path_or_headers = T.unsafe(nil), port = T.unsafe(nil)); end
1954
+
1955
+ # :call-seq:
1956
+ # Net::HTTP.get_print(hostname, path, port = 80) -> nil
1957
+ # Net::HTTP:get_print(uri, headers = {}, port = uri.port) -> nil
1958
+ #
1959
+ # Like Net::HTTP.get, but writes the returned body to $stdout;
1960
+ # returns +nil+.
1961
+ #
1962
+ # source://net-http//lib/net/http.rb#761
1963
+ def get_print(uri_or_host, path_or_headers = T.unsafe(nil), port = T.unsafe(nil)); end
1964
+
1965
+ # :call-seq:
1966
+ # Net::HTTP.get_response(hostname, path, port = 80) -> http_response
1967
+ # Net::HTTP:get_response(uri, headers = {}, port = uri.port) -> http_response
1968
+ #
1969
+ # Like Net::HTTP.get, but returns a Net::HTTPResponse object
1970
+ # instead of the body string.
1971
+ #
1972
+ # source://net-http//lib/net/http.rb#812
1973
+ def get_response(uri_or_host, path_or_headers = T.unsafe(nil), port = T.unsafe(nil), &block); end
1974
+
1975
+ # Returns integer +80+, the default port to use for \HTTP requests:
1976
+ #
1977
+ # Net::HTTP.http_default_port # => 80
1978
+ #
1979
+ # source://net-http//lib/net/http.rb#908
1980
+ def http_default_port; end
1981
+
1982
+ # Returns integer +443+, the default port to use for HTTPS requests:
1983
+ #
1984
+ # Net::HTTP.https_default_port # => 443
1985
+ #
1986
+ # source://net-http//lib/net/http.rb#916
1987
+ def https_default_port; end
1988
+
1989
+ # Returns +false+; retained for compatibility.
1990
+ #
1991
+ # @return [Boolean]
1992
+ #
1993
+ # source://net-http//lib/net/http.rb#746
1994
+ def is_version_1_1?; end
1995
+
1996
+ # Returns +true+; retained for compatibility.
1997
+ #
1998
+ # @return [Boolean]
1999
+ #
2000
+ # source://net-http//lib/net/http.rb#741
2001
+ def is_version_1_2?; end
2002
+
2003
+ # Returns a new \Net::HTTP object +http+
2004
+ # (but does not open a TCP connection or \HTTP session).
2005
+ #
2006
+ # With only string argument +address+ given
2007
+ # (and <tt>ENV['http_proxy']</tt> undefined or +nil+),
2008
+ # the returned +http+:
2009
+ #
2010
+ # - Has the given address.
2011
+ # - Has the default port number, Net::HTTP.default_port (80).
2012
+ # - Has no proxy.
2013
+ #
2014
+ # Example:
2015
+ #
2016
+ # http = Net::HTTP.new(hostname)
2017
+ # # => #<Net::HTTP jsonplaceholder.typicode.com:80 open=false>
2018
+ # http.address # => "jsonplaceholder.typicode.com"
2019
+ # http.port # => 80
2020
+ # http.proxy? # => false
2021
+ #
2022
+ # With integer argument +port+ also given,
2023
+ # the returned +http+ has the given port:
2024
+ #
2025
+ # http = Net::HTTP.new(hostname, 8000)
2026
+ # # => #<Net::HTTP jsonplaceholder.typicode.com:8000 open=false>
2027
+ # http.port # => 8000
2028
+ #
2029
+ # For proxy-defining arguments +p_addr+ through +p_no_proxy+,
2030
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
2031
+ #
2032
+ # source://net-http//lib/net/http.rb#1065
2033
+ def new(address, port = T.unsafe(nil), p_addr = T.unsafe(nil), p_port = T.unsafe(nil), p_user = T.unsafe(nil), p_pass = T.unsafe(nil), p_no_proxy = T.unsafe(nil)); end
2034
+
2035
+ # Posts data to a host; returns a Net::HTTPResponse object.
2036
+ #
2037
+ # Argument +url+ must be a URL;
2038
+ # argument +data+ must be a string:
2039
+ #
2040
+ # _uri = uri.dup
2041
+ # _uri.path = '/posts'
2042
+ # data = '{"title": "foo", "body": "bar", "userId": 1}'
2043
+ # headers = {'content-type': 'application/json'}
2044
+ # res = Net::HTTP.post(_uri, data, headers) # => #<Net::HTTPCreated 201 Created readbody=true>
2045
+ # puts res.body
2046
+ #
2047
+ # Output:
2048
+ #
2049
+ # {
2050
+ # "title": "foo",
2051
+ # "body": "bar",
2052
+ # "userId": 1,
2053
+ # "id": 101
2054
+ # }
2055
+ #
2056
+ # Related:
2057
+ #
2058
+ # - Net::HTTP::Post: request class for \HTTP method +POST+.
2059
+ # - Net::HTTP#post: convenience method for \HTTP method +POST+.
2060
+ #
2061
+ # source://net-http//lib/net/http.rb#855
2062
+ def post(url, data, header = T.unsafe(nil)); end
2063
+
2064
+ # Posts data to a host; returns a Net::HTTPResponse object.
2065
+ #
2066
+ # Argument +url+ must be a URI;
2067
+ # argument +data+ must be a hash:
2068
+ #
2069
+ # _uri = uri.dup
2070
+ # _uri.path = '/posts'
2071
+ # data = {title: 'foo', body: 'bar', userId: 1}
2072
+ # res = Net::HTTP.post_form(_uri, data) # => #<Net::HTTPCreated 201 Created readbody=true>
2073
+ # puts res.body
2074
+ #
2075
+ # Output:
2076
+ #
2077
+ # {
2078
+ # "title": "foo",
2079
+ # "body": "bar",
2080
+ # "userId": "1",
2081
+ # "id": 101
2082
+ # }
2083
+ #
2084
+ # source://net-http//lib/net/http.rb#882
2085
+ def post_form(url, params); end
2086
+
2087
+ # Returns the address of the proxy host, or +nil+ if none;
2088
+ # see Net::HTTP@Proxy+Server.
2089
+ #
2090
+ # source://net-http//lib/net/http.rb#1768
2091
+ def proxy_address; end
2092
+
2093
+ # Returns true if self is a class which was created by HTTP::Proxy.
2094
+ #
2095
+ # @return [Boolean]
2096
+ #
2097
+ # source://net-http//lib/net/http.rb#1762
2098
+ def proxy_class?; end
2099
+
2100
+ # Returns the password for accessing the proxy, or +nil+ if none;
2101
+ # see Net::HTTP@Proxy+Server.
2102
+ #
2103
+ # source://net-http//lib/net/http.rb#1780
2104
+ def proxy_pass; end
2105
+
2106
+ # Returns the port number of the proxy host, or +nil+ if none;
2107
+ # see Net::HTTP@Proxy+Server.
2108
+ #
2109
+ # source://net-http//lib/net/http.rb#1772
2110
+ def proxy_port; end
2111
+
2112
+ # Returns the user name for accessing the proxy, or +nil+ if none;
2113
+ # see Net::HTTP@Proxy+Server.
2114
+ #
2115
+ # source://net-http//lib/net/http.rb#1776
2116
+ def proxy_user; end
2117
+
2118
+ # source://net-http//lib/net/http.rb#920
2119
+ def socket_type; end
2120
+
2121
+ # :call-seq:
2122
+ # HTTP.start(address, port = nil, p_addr = :ENV, p_port = nil, p_user = nil, p_pass = nil, opts) -> http
2123
+ # HTTP.start(address, port = nil, p_addr = :ENV, p_port = nil, p_user = nil, p_pass = nil, opts) {|http| ... } -> object
2124
+ #
2125
+ # Creates a new \Net::HTTP object, +http+, via \Net::HTTP.new:
2126
+ #
2127
+ # - For arguments +address+ and +port+, see Net::HTTP.new.
2128
+ # - For proxy-defining arguments +p_addr+ through +p_pass+,
2129
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
2130
+ # - For argument +opts+, see below.
2131
+ #
2132
+ # With no block given:
2133
+ #
2134
+ # - Calls <tt>http.start</tt> with no block (see #start),
2135
+ # which opens a TCP connection and \HTTP session.
2136
+ # - Returns +http+.
2137
+ # - The caller should call #finish to close the session:
2138
+ #
2139
+ # http = Net::HTTP.start(hostname)
2140
+ # http.started? # => true
2141
+ # http.finish
2142
+ # http.started? # => false
2143
+ #
2144
+ # With a block given:
2145
+ #
2146
+ # - Calls <tt>http.start</tt> with the block (see #start), which:
2147
+ #
2148
+ # - Opens a TCP connection and \HTTP session.
2149
+ # - Calls the block,
2150
+ # which may make any number of requests to the host.
2151
+ # - Closes the \HTTP session and TCP connection on block exit.
2152
+ # - Returns the block's value +object+.
2153
+ #
2154
+ # - Returns +object+.
2155
+ #
2156
+ # Example:
2157
+ #
2158
+ # hostname = 'jsonplaceholder.typicode.com'
2159
+ # Net::HTTP.start(hostname) do |http|
2160
+ # puts http.get('/todos/1').body
2161
+ # puts http.get('/todos/2').body
2162
+ # end
2163
+ #
2164
+ # Output:
2165
+ #
2166
+ # {
2167
+ # "userId": 1,
2168
+ # "id": 1,
2169
+ # "title": "delectus aut autem",
2170
+ # "completed": false
2171
+ # }
2172
+ # {
2173
+ # "userId": 1,
2174
+ # "id": 2,
2175
+ # "title": "quis ut nam facilis et officia qui",
2176
+ # "completed": false
2177
+ # }
2178
+ #
2179
+ # If the last argument given is a hash, it is the +opts+ hash,
2180
+ # where each key is a method or accessor to be called,
2181
+ # and its value is the value to be set.
2182
+ #
2183
+ # The keys may include:
2184
+ #
2185
+ # - #ca_file
2186
+ # - #ca_path
2187
+ # - #cert
2188
+ # - #cert_store
2189
+ # - #ciphers
2190
+ # - #close_on_empty_response
2191
+ # - +ipaddr+ (calls #ipaddr=)
2192
+ # - #keep_alive_timeout
2193
+ # - #key
2194
+ # - #open_timeout
2195
+ # - #read_timeout
2196
+ # - #ssl_timeout
2197
+ # - #ssl_version
2198
+ # - +use_ssl+ (calls #use_ssl=)
2199
+ # - #verify_callback
2200
+ # - #verify_depth
2201
+ # - #verify_mode
2202
+ # - #write_timeout
2203
+ #
2204
+ # Note: If +port+ is +nil+ and <tt>opts[:use_ssl]</tt> is a truthy value,
2205
+ # the value passed to +new+ is Net::HTTP.https_default_port, not +port+.
2206
+ #
2207
+ # source://net-http//lib/net/http.rb#1010
2208
+ def start(address, *arg, &block); end
2209
+
2210
+ # Returns +false+; retained for compatibility.
2211
+ #
2212
+ # @return [Boolean]
2213
+ #
2214
+ # source://net-http//lib/net/http.rb#746
2215
+ def version_1_1?; end
2216
+
2217
+ # Returns +true+; retained for compatibility.
2218
+ #
2219
+ # source://net-http//lib/net/http.rb#736
2220
+ def version_1_2; end
2221
+
2222
+ # Returns +true+; retained for compatibility.
2223
+ #
2224
+ # @return [Boolean]
2225
+ #
2226
+ # source://net-http//lib/net/http.rb#741
2227
+ def version_1_2?; end
2228
+ end
2229
+ end
2230
+
2231
+ # source://net-http//lib/net/http/proxy_delta.rb#2
2232
+ module Net::HTTP::ProxyDelta
2233
+ private
2234
+
2235
+ # source://net-http//lib/net/http/proxy_delta.rb#5
2236
+ def conn_address; end
2237
+
2238
+ # source://net-http//lib/net/http/proxy_delta.rb#9
2239
+ def conn_port; end
2240
+
2241
+ # source://net-http//lib/net/http/proxy_delta.rb#13
2242
+ def edit_path(path); end
2243
+ end
2244
+
2245
+ # source://net-http//lib/net/http/backward.rb#7
2246
+ Net::HTTP::ProxyMod = Net::HTTP::ProxyDelta
2247
+
2248
+ # :stopdoc:
2249
+ #
2250
+ # source://net-http//lib/net/http.rb#725
2251
+ Net::HTTP::VERSION = T.let(T.unsafe(nil), String)
2252
+
2253
+ # Response class for <tt>Already Reported (WebDAV)</tt> responses (status code 208).
2254
+ #
2255
+ # The <tt>Already Reported (WebDAV)</tt> response indicates that the server
2256
+ # has received the request,
2257
+ # and that the members of a DAV binding have already been enumerated
2258
+ # in a preceding part of the (multi-status) response,
2259
+ # and are not being included again.
2260
+ #
2261
+ # :include: doc/net-http/included_getters.rdoc
2262
+ #
2263
+ # References:
2264
+ #
2265
+ # - {RFC 5842}[https://www.rfc-editor.org/rfc/rfc5842.html#section-7.1].
2266
+ # - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#208].
2267
+ #
2268
+ # source://net-http//lib/net/http/responses.rb#306
2269
+ class Net::HTTPAlreadyReported < ::Net::HTTPSuccess; end
2270
+
2271
+ # source://net-http//lib/net/http/responses.rb#307
2272
+ Net::HTTPAlreadyReported::HAS_BODY = T.let(T.unsafe(nil), TrueClass)
2273
+
2274
+ # source://net-http//lib/net/http/responses.rb#67
2275
+ Net::HTTPClientError::EXCEPTION_TYPE = Net::HTTPClientException
2276
+
2277
+ # source://net-http//lib/net/http/backward.rb#23
2278
+ Net::HTTPClientErrorCode = Net::HTTPClientError
2279
+
2280
+ # Response class for <tt>Early Hints</tt> responses (status code 103).
2281
+ #
2282
+ # The <tt>Early Hints</tt> indicates that the server has received
2283
+ # and is processing the request, and contains certain headers;
2284
+ # the final response is not available yet.
2285
+ #
2286
+ # :include: doc/net-http/included_getters.rdoc
2287
+ #
2288
+ # References:
2289
+ #
2290
+ # - {Mozilla}[https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/103].
2291
+ # - {RFC 8297}[https://www.rfc-editor.org/rfc/rfc8297.html#section-2].
2292
+ # - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#103].
2293
+ #
2294
+ # source://net-http//lib/net/http/responses.rb#147
2295
+ class Net::HTTPEarlyHints < ::Net::HTTPInformation; end
2296
+
2297
+ # source://net-http//lib/net/http/responses.rb#148
2298
+ Net::HTTPEarlyHints::HAS_BODY = T.let(T.unsafe(nil), FalseClass)
2299
+
2300
+ # source://net-http//lib/net/http/backward.rb#24
2301
+ Net::HTTPFatalErrorCode = Net::HTTPClientError
2302
+
2303
+ # \HTTPGenericRequest is the parent of the Net::HTTPRequest class.
2304
+ #
2305
+ # Do not use this directly; instead, use a subclass of Net::HTTPRequest.
2306
+ #
2307
+ # == About the Examples
2308
+ #
2309
+ # :include: doc/net-http/examples.rdoc
2310
+ #
2311
+ # source://net-http//lib/net/http/generic_request.rb#11
2312
+ class Net::HTTPGenericRequest
2313
+ include ::Net::HTTPHeader
2314
+
2315
+ # @return [HTTPGenericRequest] a new instance of HTTPGenericRequest
2316
+ #
2317
+ # source://net-http//lib/net/http/generic_request.rb#15
2318
+ def initialize(m, reqbody, resbody, uri_or_path, initheader = T.unsafe(nil)); end
2319
+
2320
+ # Don't automatically decode response content-encoding if the user indicates
2321
+ # they want to handle it.
2322
+ #
2323
+ # source://net-http//lib/net/http/generic_request.rb#109
2324
+ def []=(key, val); end
2325
+
2326
+ # Returns the string body for the request, or +nil+ if there is none:
2327
+ #
2328
+ # req = Net::HTTP::Post.new(uri)
2329
+ # req.body # => nil
2330
+ # req.body = '{"title": "foo","body": "bar","userId": 1}'
2331
+ # req.body # => "{\"title\": \"foo\",\"body\": \"bar\",\"userId\": 1}"
2332
+ #
2333
+ # source://net-http//lib/net/http/generic_request.rb#145
2334
+ def body; end
2335
+
2336
+ # Sets the body for the request:
2337
+ #
2338
+ # req = Net::HTTP::Post.new(uri)
2339
+ # req.body # => nil
2340
+ # req.body = '{"title": "foo","body": "bar","userId": 1}'
2341
+ # req.body # => "{\"title\": \"foo\",\"body\": \"bar\",\"userId\": 1}"
2342
+ #
2343
+ # source://net-http//lib/net/http/generic_request.rb#154
2344
+ def body=(str); end
2345
+
2346
+ # @return [Boolean]
2347
+ #
2348
+ # source://net-http//lib/net/http/generic_request.rb#133
2349
+ def body_exist?; end
2350
+
2351
+ # Returns the body stream object for the request, or +nil+ if there is none:
2352
+ #
2353
+ # req = Net::HTTP::Post.new(uri) # => #<Net::HTTP::Post POST>
2354
+ # req.body_stream # => nil
2355
+ # require 'stringio'
2356
+ # req.body_stream = StringIO.new('xyzzy') # => #<StringIO:0x0000027d1e5affa8>
2357
+ # req.body_stream # => #<StringIO:0x0000027d1e5affa8>
2358
+ #
2359
+ # source://net-http//lib/net/http/generic_request.rb#169
2360
+ def body_stream; end
2361
+
2362
+ # Sets the body stream for the request:
2363
+ #
2364
+ # req = Net::HTTP::Post.new(uri) # => #<Net::HTTP::Post POST>
2365
+ # req.body_stream # => nil
2366
+ # require 'stringio'
2367
+ # req.body_stream = StringIO.new('xyzzy') # => #<StringIO:0x0000027d1e5affa8>
2368
+ # req.body_stream # => #<StringIO:0x0000027d1e5affa8>
2369
+ #
2370
+ # source://net-http//lib/net/http/generic_request.rb#179
2371
+ def body_stream=(input); end
2372
+
2373
+ # Returns +false+ if the request's header <tt>'Accept-Encoding'</tt>
2374
+ # has been set manually or deleted
2375
+ # (indicating that the user intends to handle encoding in the response),
2376
+ # +true+ otherwise:
2377
+ #
2378
+ # req = Net::HTTP::Get.new(uri) # => #<Net::HTTP::Get GET>
2379
+ # req['Accept-Encoding'] # => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3"
2380
+ # req.decode_content # => true
2381
+ # req['Accept-Encoding'] = 'foo'
2382
+ # req.decode_content # => false
2383
+ # req.delete('Accept-Encoding')
2384
+ # req.decode_content # => false
2385
+ #
2386
+ # source://net-http//lib/net/http/generic_request.rb#95
2387
+ def decode_content; end
2388
+
2389
+ # write
2390
+ #
2391
+ # source://net-http//lib/net/http/generic_request.rb#198
2392
+ def exec(sock, ver, path); end
2393
+
2394
+ # Returns a string representation of the request:
2395
+ #
2396
+ # Net::HTTP::Post.new(uri).inspect # => "#<Net::HTTP::Post POST>"
2397
+ #
2398
+ # source://net-http//lib/net/http/generic_request.rb#101
2399
+ def inspect; end
2400
+
2401
+ # Returns the string method name for the request:
2402
+ #
2403
+ # Net::HTTP::Get.new(uri).method # => "GET"
2404
+ # Net::HTTP::Post.new(uri).method # => "POST"
2405
+ #
2406
+ # source://net-http//lib/net/http/generic_request.rb#65
2407
+ def method; end
2408
+
2409
+ # Returns the string path for the request:
2410
+ #
2411
+ # Net::HTTP::Get.new(uri).path # => "/"
2412
+ # Net::HTTP::Post.new('example.com').path # => "example.com"
2413
+ #
2414
+ # source://net-http//lib/net/http/generic_request.rb#72
2415
+ def path; end
2416
+
2417
+ # Returns whether the request may have a body:
2418
+ #
2419
+ # Net::HTTP::Post.new(uri).request_body_permitted? # => true
2420
+ # Net::HTTP::Get.new(uri).request_body_permitted? # => false
2421
+ #
2422
+ # @return [Boolean]
2423
+ #
2424
+ # source://net-http//lib/net/http/generic_request.rb#120
2425
+ def request_body_permitted?; end
2426
+
2427
+ # Returns whether the response may have a body:
2428
+ #
2429
+ # Net::HTTP::Post.new(uri).response_body_permitted? # => true
2430
+ # Net::HTTP::Head.new(uri).response_body_permitted? # => false
2431
+ #
2432
+ # @return [Boolean]
2433
+ #
2434
+ # source://net-http//lib/net/http/generic_request.rb#129
2435
+ def response_body_permitted?; end
2436
+
2437
+ # @raise [ArgumentError]
2438
+ #
2439
+ # source://net-http//lib/net/http/generic_request.rb#186
2440
+ def set_body_internal(str); end
2441
+
2442
+ # source://net-http//lib/net/http/generic_request.rb#210
2443
+ def update_uri(addr, port, ssl); end
2444
+
2445
+ # Returns the URI object for the request, or +nil+ if none:
2446
+ #
2447
+ # Net::HTTP::Get.new(uri).uri
2448
+ # # => #<URI::HTTPS https://jsonplaceholder.typicode.com/>
2449
+ # Net::HTTP::Get.new('example.com').uri # => nil
2450
+ #
2451
+ # source://net-http//lib/net/http/generic_request.rb#80
2452
+ def uri; end
2453
+
2454
+ private
2455
+
2456
+ # source://net-http//lib/net/http/generic_request.rb#312
2457
+ def encode_multipart_form_data(out, params, opt); end
2458
+
2459
+ # source://net-http//lib/net/http/generic_request.rb#368
2460
+ def flush_buffer(out, buf, chunked_p); end
2461
+
2462
+ # source://net-http//lib/net/http/generic_request.rb#363
2463
+ def quote_string(str, charset); end
2464
+
2465
+ # source://net-http//lib/net/http/generic_request.rb#260
2466
+ def send_request_with_body(sock, ver, path, body); end
2467
+
2468
+ # source://net-http//lib/net/http/generic_request.rb#286
2469
+ def send_request_with_body_data(sock, ver, path, params); end
2470
+
2471
+ # source://net-http//lib/net/http/generic_request.rb#269
2472
+ def send_request_with_body_stream(sock, ver, path, f); end
2473
+
2474
+ # source://net-http//lib/net/http/generic_request.rb#376
2475
+ def supply_default_content_type; end
2476
+
2477
+ # Waits up to the continue timeout for a response from the server provided
2478
+ # we're speaking HTTP 1.1 and are expecting a 100-continue response.
2479
+ #
2480
+ # source://net-http//lib/net/http/generic_request.rb#386
2481
+ def wait_for_continue(sock, ver); end
2482
+
2483
+ # source://net-http//lib/net/http/generic_request.rb#399
2484
+ def write_header(sock, ver, path); end
2485
+ end
2486
+
2487
+ # source://net-http//lib/net/http/generic_request.rb#242
2488
+ class Net::HTTPGenericRequest::Chunker
2489
+ # @return [Chunker] a new instance of Chunker
2490
+ #
2491
+ # source://net-http//lib/net/http/generic_request.rb#243
2492
+ def initialize(sock); end
2493
+
2494
+ # source://net-http//lib/net/http/generic_request.rb#255
2495
+ def finish; end
2496
+
2497
+ # source://net-http//lib/net/http/generic_request.rb#248
2498
+ def write(buf); end
2499
+ end
2500
+
2501
+ # The \HTTPHeader module provides access to \HTTP headers.
2502
+ #
2503
+ # The module is included in:
2504
+ #
2505
+ # - Net::HTTPGenericRequest (and therefore Net::HTTPRequest).
2506
+ # - Net::HTTPResponse.
2507
+ #
2508
+ # The headers are a hash-like collection of key/value pairs called _fields_.
2509
+ #
2510
+ # == Request and Response Fields
2511
+ #
2512
+ # Headers may be included in:
2513
+ #
2514
+ # - A Net::HTTPRequest object:
2515
+ # the object's headers will be sent with the request.
2516
+ # Any fields may be defined in the request;
2517
+ # see {Setters}[rdoc-ref:Net::HTTPHeader@Setters].
2518
+ # - A Net::HTTPResponse object:
2519
+ # the objects headers are usually those returned from the host.
2520
+ # Fields may be retrieved from the object;
2521
+ # see {Getters}[rdoc-ref:Net::HTTPHeader@Getters]
2522
+ # and {Iterators}[rdoc-ref:Net::HTTPHeader@Iterators].
2523
+ #
2524
+ # Exactly which fields should be sent or expected depends on the host;
2525
+ # see:
2526
+ #
2527
+ # - {Request fields}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Request_fields].
2528
+ # - {Response fields}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Response_fields].
2529
+ #
2530
+ # == About the Examples
2531
+ #
2532
+ # :include: doc/net-http/examples.rdoc
2533
+ #
2534
+ # == Fields
2535
+ #
2536
+ # A header field is a key/value pair.
2537
+ #
2538
+ # === Field Keys
2539
+ #
2540
+ # A field key may be:
2541
+ #
2542
+ # - A string: Key <tt>'Accept'</tt> is treated as if it were
2543
+ # <tt>'Accept'.downcase</tt>; i.e., <tt>'accept'</tt>.
2544
+ # - A symbol: Key <tt>:Accept</tt> is treated as if it were
2545
+ # <tt>:Accept.to_s.downcase</tt>; i.e., <tt>'accept'</tt>.
2546
+ #
2547
+ # Examples:
2548
+ #
2549
+ # req = Net::HTTP::Get.new(uri)
2550
+ # req[:accept] # => "*/*"
2551
+ # req['Accept'] # => "*/*"
2552
+ # req['ACCEPT'] # => "*/*"
2553
+ #
2554
+ # req['accept'] = 'text/html'
2555
+ # req[:accept] = 'text/html'
2556
+ # req['ACCEPT'] = 'text/html'
2557
+ #
2558
+ # === Field Values
2559
+ #
2560
+ # A field value may be returned as an array of strings or as a string:
2561
+ #
2562
+ # - These methods return field values as arrays:
2563
+ #
2564
+ # - #get_fields: Returns the array value for the given key,
2565
+ # or +nil+ if it does not exist.
2566
+ # - #to_hash: Returns a hash of all header fields:
2567
+ # each key is a field name; its value is the array value for the field.
2568
+ #
2569
+ # - These methods return field values as string;
2570
+ # the string value for a field is equivalent to
2571
+ # <tt>self[key.downcase.to_s].join(', '))</tt>:
2572
+ #
2573
+ # - #[]: Returns the string value for the given key,
2574
+ # or +nil+ if it does not exist.
2575
+ # - #fetch: Like #[], but accepts a default value
2576
+ # to be returned if the key does not exist.
2577
+ #
2578
+ # The field value may be set:
2579
+ #
2580
+ # - #[]=: Sets the value for the given key;
2581
+ # the given value may be a string, a symbol, an array, or a hash.
2582
+ # - #add_field: Adds a given value to a value for the given key
2583
+ # (not overwriting the existing value).
2584
+ # - #delete: Deletes the field for the given key.
2585
+ #
2586
+ # Example field values:
2587
+ #
2588
+ # - \String:
2589
+ #
2590
+ # req['Accept'] = 'text/html' # => "text/html"
2591
+ # req['Accept'] # => "text/html"
2592
+ # req.get_fields('Accept') # => ["text/html"]
2593
+ #
2594
+ # - \Symbol:
2595
+ #
2596
+ # req['Accept'] = :text # => :text
2597
+ # req['Accept'] # => "text"
2598
+ # req.get_fields('Accept') # => ["text"]
2599
+ #
2600
+ # - Simple array:
2601
+ #
2602
+ # req[:foo] = %w[bar baz bat]
2603
+ # req[:foo] # => "bar, baz, bat"
2604
+ # req.get_fields(:foo) # => ["bar", "baz", "bat"]
2605
+ #
2606
+ # - Simple hash:
2607
+ #
2608
+ # req[:foo] = {bar: 0, baz: 1, bat: 2}
2609
+ # req[:foo] # => "bar, 0, baz, 1, bat, 2"
2610
+ # req.get_fields(:foo) # => ["bar", "0", "baz", "1", "bat", "2"]
2611
+ #
2612
+ # - Nested:
2613
+ #
2614
+ # req[:foo] = [%w[bar baz], {bat: 0, bam: 1}]
2615
+ # req[:foo] # => "bar, baz, bat, 0, bam, 1"
2616
+ # req.get_fields(:foo) # => ["bar", "baz", "bat", "0", "bam", "1"]
2617
+ #
2618
+ # req[:foo] = {bar: %w[baz bat], bam: {bah: 0, bad: 1}}
2619
+ # req[:foo] # => "bar, baz, bat, bam, bah, 0, bad, 1"
2620
+ # req.get_fields(:foo) # => ["bar", "baz", "bat", "bam", "bah", "0", "bad", "1"]
2621
+ #
2622
+ # == Convenience Methods
2623
+ #
2624
+ # Various convenience methods retrieve values, set values, query values,
2625
+ # set form values, or iterate over fields.
2626
+ #
2627
+ # === Setters
2628
+ #
2629
+ # \Method #[]= can set any field, but does little to validate the new value;
2630
+ # some of the other setter methods provide some validation:
2631
+ #
2632
+ # - #[]=: Sets the string or array value for the given key.
2633
+ # - #add_field: Creates or adds to the array value for the given key.
2634
+ # - #basic_auth: Sets the string authorization header for <tt>'Authorization'</tt>.
2635
+ # - #content_length=: Sets the integer length for field <tt>'Content-Length</tt>.
2636
+ # - #content_type=: Sets the string value for field <tt>'Content-Type'</tt>.
2637
+ # - #proxy_basic_auth: Sets the string authorization header for <tt>'Proxy-Authorization'</tt>.
2638
+ # - #set_range: Sets the value for field <tt>'Range'</tt>.
2639
+ #
2640
+ # === Form Setters
2641
+ #
2642
+ # - #set_form: Sets an HTML form data set.
2643
+ # - #set_form_data: Sets header fields and a body from HTML form data.
2644
+ #
2645
+ # === Getters
2646
+ #
2647
+ # \Method #[] can retrieve the value of any field that exists,
2648
+ # but always as a string;
2649
+ # some of the other getter methods return something different
2650
+ # from the simple string value:
2651
+ #
2652
+ # - #[]: Returns the string field value for the given key.
2653
+ # - #content_length: Returns the integer value of field <tt>'Content-Length'</tt>.
2654
+ # - #content_range: Returns the Range value of field <tt>'Content-Range'</tt>.
2655
+ # - #content_type: Returns the string value of field <tt>'Content-Type'</tt>.
2656
+ # - #fetch: Returns the string field value for the given key.
2657
+ # - #get_fields: Returns the array field value for the given +key+.
2658
+ # - #main_type: Returns first part of the string value of field <tt>'Content-Type'</tt>.
2659
+ # - #sub_type: Returns second part of the string value of field <tt>'Content-Type'</tt>.
2660
+ # - #range: Returns an array of Range objects of field <tt>'Range'</tt>, or +nil+.
2661
+ # - #range_length: Returns the integer length of the range given in field <tt>'Content-Range'</tt>.
2662
+ # - #type_params: Returns the string parameters for <tt>'Content-Type'</tt>.
2663
+ #
2664
+ # === Queries
2665
+ #
2666
+ # - #chunked?: Returns whether field <tt>'Transfer-Encoding'</tt> is set to <tt>'chunked'</tt>.
2667
+ # - #connection_close?: Returns whether field <tt>'Connection'</tt> is set to <tt>'close'</tt>.
2668
+ # - #connection_keep_alive?: Returns whether field <tt>'Connection'</tt> is set to <tt>'keep-alive'</tt>.
2669
+ # - #key?: Returns whether a given key exists.
2670
+ #
2671
+ # === Iterators
2672
+ #
2673
+ # - #each_capitalized: Passes each field capitalized-name/value pair to the block.
2674
+ # - #each_capitalized_name: Passes each capitalized field name to the block.
2675
+ # - #each_header: Passes each field name/value pair to the block.
2676
+ # - #each_name: Passes each field name to the block.
2677
+ # - #each_value: Passes each string field value to the block.
2678
+ #
2679
+ # source://net-http//lib/net/http/header.rb#181
2680
+ module Net::HTTPHeader
2681
+ # Returns the string field value for the case-insensitive field +key+,
2682
+ # or +nil+ if there is no such key;
2683
+ # see {Fields}[rdoc-ref:Net::HTTPHeader@Fields]:
2684
+ #
2685
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
2686
+ # res['Connection'] # => "keep-alive"
2687
+ # res['Nosuch'] # => nil
2688
+ #
2689
+ # Note that some field values may be retrieved via convenience methods;
2690
+ # see {Getters}[rdoc-ref:Net::HTTPHeader@Getters].
2691
+ #
2692
+ # source://net-http//lib/net/http/header.rb#224
2693
+ def [](key); end
2694
+
2695
+ # Sets the value for the case-insensitive +key+ to +val+,
2696
+ # overwriting the previous value if the field exists;
2697
+ # see {Fields}[rdoc-ref:Net::HTTPHeader@Fields]:
2698
+ #
2699
+ # req = Net::HTTP::Get.new(uri)
2700
+ # req['Accept'] # => "*/*"
2701
+ # req['Accept'] = 'text/html'
2702
+ # req['Accept'] # => "text/html"
2703
+ #
2704
+ # Note that some field values may be set via convenience methods;
2705
+ # see {Setters}[rdoc-ref:Net::HTTPHeader@Setters].
2706
+ #
2707
+ # source://net-http//lib/net/http/header.rb#240
2708
+ def []=(key, val); end
2709
+
2710
+ # Adds value +val+ to the value array for field +key+ if the field exists;
2711
+ # creates the field with the given +key+ and +val+ if it does not exist.
2712
+ # see {Fields}[rdoc-ref:Net::HTTPHeader@Fields]:
2713
+ #
2714
+ # req = Net::HTTP::Get.new(uri)
2715
+ # req.add_field('Foo', 'bar')
2716
+ # req['Foo'] # => "bar"
2717
+ # req.add_field('Foo', 'baz')
2718
+ # req['Foo'] # => "bar, baz"
2719
+ # req.add_field('Foo', %w[baz bam])
2720
+ # req['Foo'] # => "bar, baz, baz, bam"
2721
+ # req.get_fields('Foo') # => ["bar", "baz", "baz", "bam"]
2722
+ #
2723
+ # source://net-http//lib/net/http/header.rb#261
2724
+ def add_field(key, val); end
2725
+
2726
+ # Sets header <tt>'Authorization'</tt> using the given
2727
+ # +account+ and +password+ strings:
2728
+ #
2729
+ # req.basic_auth('my_account', 'my_password')
2730
+ # req['Authorization']
2731
+ # # => "Basic bXlfYWNjb3VudDpteV9wYXNzd29yZA=="
2732
+ #
2733
+ # source://net-http//lib/net/http/header.rb#945
2734
+ def basic_auth(account, password); end
2735
+
2736
+ # Like #each_header, but the keys are returned in capitalized form.
2737
+ #
2738
+ # Net::HTTPHeader#canonical_each is an alias for Net::HTTPHeader#each_capitalized.
2739
+ #
2740
+ # source://net-http//lib/net/http/header.rb#484
2741
+ def canonical_each; end
2742
+
2743
+ # Returns +true+ if field <tt>'Transfer-Encoding'</tt>
2744
+ # exists and has value <tt>'chunked'</tt>,
2745
+ # +false+ otherwise;
2746
+ # see {Transfer-Encoding response header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#transfer-encoding-response-header]:
2747
+ #
2748
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
2749
+ # res['Transfer-Encoding'] # => "chunked"
2750
+ # res.chunked? # => true
2751
+ #
2752
+ # @return [Boolean]
2753
+ #
2754
+ # source://net-http//lib/net/http/header.rb#654
2755
+ def chunked?; end
2756
+
2757
+ # Returns whether the HTTP session is to be closed.
2758
+ #
2759
+ # @return [Boolean]
2760
+ #
2761
+ # source://net-http//lib/net/http/header.rb#966
2762
+ def connection_close?; end
2763
+
2764
+ # Returns whether the HTTP session is to be kept alive.
2765
+ #
2766
+ # @return [Boolean]
2767
+ #
2768
+ # source://net-http//lib/net/http/header.rb#974
2769
+ def connection_keep_alive?; end
2770
+
2771
+ # Returns the value of field <tt>'Content-Length'</tt> as an integer,
2772
+ # or +nil+ if there is no such field;
2773
+ # see {Content-Length request header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-length-request-header]:
2774
+ #
2775
+ # res = Net::HTTP.get_response(hostname, '/nosuch/1')
2776
+ # res.content_length # => 2
2777
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
2778
+ # res.content_length # => nil
2779
+ #
2780
+ # source://net-http//lib/net/http/header.rb#616
2781
+ def content_length; end
2782
+
2783
+ # Sets the value of field <tt>'Content-Length'</tt> to the given numeric;
2784
+ # see {Content-Length response header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-length-response-header]:
2785
+ #
2786
+ # _uri = uri.dup
2787
+ # hostname = _uri.hostname # => "jsonplaceholder.typicode.com"
2788
+ # _uri.path = '/posts' # => "/posts"
2789
+ # req = Net::HTTP::Post.new(_uri) # => #<Net::HTTP::Post POST>
2790
+ # req.body = '{"title": "foo","body": "bar","userId": 1}'
2791
+ # req.content_length = req.body.size # => 42
2792
+ # req.content_type = 'application/json'
2793
+ # res = Net::HTTP.start(hostname) do |http|
2794
+ # http.request(req)
2795
+ # end # => #<Net::HTTPCreated 201 Created readbody=true>
2796
+ #
2797
+ # source://net-http//lib/net/http/header.rb#637
2798
+ def content_length=(len); end
2799
+
2800
+ # Returns a Range object representing the value of field
2801
+ # <tt>'Content-Range'</tt>, or +nil+ if no such field exists;
2802
+ # see {Content-Range response header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-range-response-header]:
2803
+ #
2804
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
2805
+ # res['Content-Range'] # => nil
2806
+ # res['Content-Range'] = 'bytes 0-499/1000'
2807
+ # res['Content-Range'] # => "bytes 0-499/1000"
2808
+ # res.content_range # => 0..499
2809
+ #
2810
+ # source://net-http//lib/net/http/header.rb#670
2811
+ def content_range; end
2812
+
2813
+ # Returns the {media type}[https://en.wikipedia.org/wiki/Media_type]
2814
+ # from the value of field <tt>'Content-Type'</tt>,
2815
+ # or +nil+ if no such field exists;
2816
+ # see {Content-Type response header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-type-response-header]:
2817
+ #
2818
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
2819
+ # res['content-type'] # => "application/json; charset=utf-8"
2820
+ # res.content_type # => "application/json"
2821
+ #
2822
+ # source://net-http//lib/net/http/header.rb#701
2823
+ def content_type; end
2824
+
2825
+ # Sets the value of field <tt>'Content-Type'</tt>;
2826
+ # returns the new value;
2827
+ # see {Content-Type request header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-type-request-header]:
2828
+ #
2829
+ # req = Net::HTTP::Get.new(uri)
2830
+ # req.set_content_type('application/json') # => ["application/json"]
2831
+ #
2832
+ # Net::HTTPHeader#content_type= is an alias for Net::HTTPHeader#set_content_type.
2833
+ #
2834
+ # source://net-http//lib/net/http/header.rb#772
2835
+ def content_type=(type, params = T.unsafe(nil)); end
2836
+
2837
+ # Removes the header for the given case-insensitive +key+
2838
+ # (see {Fields}[rdoc-ref:Net::HTTPHeader@Fields]);
2839
+ # returns the deleted value, or +nil+ if no such field exists:
2840
+ #
2841
+ # req = Net::HTTP::Get.new(uri)
2842
+ # req.delete('Accept') # => ["*/*"]
2843
+ # req.delete('Nosuch') # => nil
2844
+ #
2845
+ # source://net-http//lib/net/http/header.rb#453
2846
+ def delete(key); end
2847
+
2848
+ # Calls the block with each key/value pair:
2849
+ #
2850
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
2851
+ # res.each_header do |key, value|
2852
+ # p [key, value] if key.start_with?('c')
2853
+ # end
2854
+ #
2855
+ # Output:
2856
+ #
2857
+ # ["content-type", "application/json; charset=utf-8"]
2858
+ # ["connection", "keep-alive"]
2859
+ # ["cache-control", "max-age=43200"]
2860
+ # ["cf-cache-status", "HIT"]
2861
+ # ["cf-ray", "771d17e9bc542cf5-ORD"]
2862
+ #
2863
+ # Returns an enumerator if no block is given.
2864
+ #
2865
+ # Net::HTTPHeader#each is an alias for Net::HTTPHeader#each_header.
2866
+ #
2867
+ # source://net-http//lib/net/http/header.rb#364
2868
+ def each; end
2869
+
2870
+ # Like #each_header, but the keys are returned in capitalized form.
2871
+ #
2872
+ # Net::HTTPHeader#canonical_each is an alias for Net::HTTPHeader#each_capitalized.
2873
+ #
2874
+ # source://net-http//lib/net/http/header.rb#484
2875
+ def each_capitalized; end
2876
+
2877
+ # Calls the block with each capitalized field name:
2878
+ #
2879
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
2880
+ # res.each_capitalized_name do |key|
2881
+ # p key if key.start_with?('C')
2882
+ # end
2883
+ #
2884
+ # Output:
2885
+ #
2886
+ # "Content-Type"
2887
+ # "Connection"
2888
+ # "Cache-Control"
2889
+ # "Cf-Cache-Status"
2890
+ # "Cf-Ray"
2891
+ #
2892
+ # The capitalization is system-dependent;
2893
+ # see {Case Mapping}[https://docs.ruby-lang.org/en/master/case_mapping_rdoc.html].
2894
+ #
2895
+ # Returns an enumerator if no block is given.
2896
+ #
2897
+ # source://net-http//lib/net/http/header.rb#417
2898
+ def each_capitalized_name; end
2899
+
2900
+ # Calls the block with each key/value pair:
2901
+ #
2902
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
2903
+ # res.each_header do |key, value|
2904
+ # p [key, value] if key.start_with?('c')
2905
+ # end
2906
+ #
2907
+ # Output:
2908
+ #
2909
+ # ["content-type", "application/json; charset=utf-8"]
2910
+ # ["connection", "keep-alive"]
2911
+ # ["cache-control", "max-age=43200"]
2912
+ # ["cf-cache-status", "HIT"]
2913
+ # ["cf-ray", "771d17e9bc542cf5-ORD"]
2914
+ #
2915
+ # Returns an enumerator if no block is given.
2916
+ #
2917
+ # Net::HTTPHeader#each is an alias for Net::HTTPHeader#each_header.
2918
+ #
2919
+ # source://net-http//lib/net/http/header.rb#364
2920
+ def each_header; end
2921
+
2922
+ # Calls the block with each field key:
2923
+ #
2924
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
2925
+ # res.each_key do |key|
2926
+ # p key if key.start_with?('c')
2927
+ # end
2928
+ #
2929
+ # Output:
2930
+ #
2931
+ # "content-type"
2932
+ # "connection"
2933
+ # "cache-control"
2934
+ # "cf-cache-status"
2935
+ # "cf-ray"
2936
+ #
2937
+ # Returns an enumerator if no block is given.
2938
+ #
2939
+ # Net::HTTPHeader#each_name is an alias for Net::HTTPHeader#each_key.
2940
+ #
2941
+ # source://net-http//lib/net/http/header.rb#391
2942
+ def each_key(&block); end
2943
+
2944
+ # Calls the block with each field key:
2945
+ #
2946
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
2947
+ # res.each_key do |key|
2948
+ # p key if key.start_with?('c')
2949
+ # end
2950
+ #
2951
+ # Output:
2952
+ #
2953
+ # "content-type"
2954
+ # "connection"
2955
+ # "cache-control"
2956
+ # "cf-cache-status"
2957
+ # "cf-ray"
2958
+ #
2959
+ # Returns an enumerator if no block is given.
2960
+ #
2961
+ # Net::HTTPHeader#each_name is an alias for Net::HTTPHeader#each_key.
2962
+ #
2963
+ # source://net-http//lib/net/http/header.rb#391
2964
+ def each_name(&block); end
2965
+
2966
+ # Calls the block with each string field value:
2967
+ #
2968
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
2969
+ # res.each_value do |value|
2970
+ # p value if value.start_with?('c')
2971
+ # end
2972
+ #
2973
+ # Output:
2974
+ #
2975
+ # "chunked"
2976
+ # "cf-q-config;dur=6.0000002122251e-06"
2977
+ # "cloudflare"
2978
+ #
2979
+ # Returns an enumerator if no block is given.
2980
+ #
2981
+ # source://net-http//lib/net/http/header.rb#438
2982
+ def each_value; end
2983
+
2984
+ # call-seq:
2985
+ # fetch(key, default_val = nil) {|key| ... } -> object
2986
+ # fetch(key, default_val = nil) -> value or default_val
2987
+ #
2988
+ # With a block, returns the string value for +key+ if it exists;
2989
+ # otherwise returns the value of the block;
2990
+ # ignores the +default_val+;
2991
+ # see {Fields}[rdoc-ref:Net::HTTPHeader@Fields]:
2992
+ #
2993
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
2994
+ #
2995
+ # # Field exists; block not called.
2996
+ # res.fetch('Connection') do |value|
2997
+ # fail 'Cannot happen'
2998
+ # end # => "keep-alive"
2999
+ #
3000
+ # # Field does not exist; block called.
3001
+ # res.fetch('Nosuch') do |value|
3002
+ # value.downcase
3003
+ # end # => "nosuch"
3004
+ #
3005
+ # With no block, returns the string value for +key+ if it exists;
3006
+ # otherwise, returns +default_val+ if it was given;
3007
+ # otherwise raises an exception:
3008
+ #
3009
+ # res.fetch('Connection', 'Foo') # => "keep-alive"
3010
+ # res.fetch('Nosuch', 'Foo') # => "Foo"
3011
+ # res.fetch('Nosuch') # Raises KeyError.
3012
+ #
3013
+ # source://net-http//lib/net/http/header.rb#341
3014
+ def fetch(key, *args, &block); end
3015
+
3016
+ # Sets the request body to a URL-encoded string derived from argument +params+,
3017
+ # and sets request header field <tt>'Content-Type'</tt>
3018
+ # to <tt>'application/x-www-form-urlencoded'</tt>.
3019
+ #
3020
+ # The resulting request is suitable for HTTP request +POST+ or +PUT+.
3021
+ #
3022
+ # Argument +params+ must be suitable for use as argument +enum+ to
3023
+ # {URI.encode_www_form}[https://docs.ruby-lang.org/en/master/URI.html#method-c-encode_www_form].
3024
+ #
3025
+ # With only argument +params+ given,
3026
+ # sets the body to a URL-encoded string with the default separator <tt>'&'</tt>:
3027
+ #
3028
+ # req = Net::HTTP::Post.new('example.com')
3029
+ #
3030
+ # req.set_form_data(q: 'ruby', lang: 'en')
3031
+ # req.body # => "q=ruby&lang=en"
3032
+ # req['Content-Type'] # => "application/x-www-form-urlencoded"
3033
+ #
3034
+ # req.set_form_data([['q', 'ruby'], ['lang', 'en']])
3035
+ # req.body # => "q=ruby&lang=en"
3036
+ #
3037
+ # req.set_form_data(q: ['ruby', 'perl'], lang: 'en')
3038
+ # req.body # => "q=ruby&q=perl&lang=en"
3039
+ #
3040
+ # req.set_form_data([['q', 'ruby'], ['q', 'perl'], ['lang', 'en']])
3041
+ # req.body # => "q=ruby&q=perl&lang=en"
3042
+ #
3043
+ # With string argument +sep+ also given,
3044
+ # uses that string as the separator:
3045
+ #
3046
+ # req.set_form_data({q: 'ruby', lang: 'en'}, '|')
3047
+ # req.body # => "q=ruby|lang=en"
3048
+ #
3049
+ # Net::HTTPHeader#form_data= is an alias for Net::HTTPHeader#set_form_data.
3050
+ #
3051
+ # source://net-http//lib/net/http/header.rb#812
3052
+ def form_data=(params, sep = T.unsafe(nil)); end
3053
+
3054
+ # Returns the array field value for the given +key+,
3055
+ # or +nil+ if there is no such field;
3056
+ # see {Fields}[rdoc-ref:Net::HTTPHeader@Fields]:
3057
+ #
3058
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
3059
+ # res.get_fields('Connection') # => ["keep-alive"]
3060
+ # res.get_fields('Nosuch') # => nil
3061
+ #
3062
+ # source://net-http//lib/net/http/header.rb#306
3063
+ def get_fields(key); end
3064
+
3065
+ # source://net-http//lib/net/http/header.rb#185
3066
+ def initialize_http_header(initheader); end
3067
+
3068
+ # Returns +true+ if the field for the case-insensitive +key+ exists, +false+ otherwise:
3069
+ #
3070
+ # req = Net::HTTP::Get.new(uri)
3071
+ # req.key?('Accept') # => true
3072
+ # req.key?('Nosuch') # => false
3073
+ #
3074
+ # @return [Boolean]
3075
+ #
3076
+ # source://net-http//lib/net/http/header.rb#463
3077
+ def key?(key); end
3078
+
3079
+ # source://net-http//lib/net/http/header.rb#208
3080
+ def length; end
3081
+
3082
+ # Returns the leading ('type') part of the
3083
+ # {media type}[https://en.wikipedia.org/wiki/Media_type]
3084
+ # from the value of field <tt>'Content-Type'</tt>,
3085
+ # or +nil+ if no such field exists;
3086
+ # see {Content-Type response header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-type-response-header]:
3087
+ #
3088
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
3089
+ # res['content-type'] # => "application/json; charset=utf-8"
3090
+ # res.main_type # => "application"
3091
+ #
3092
+ # source://net-http//lib/net/http/header.rb#723
3093
+ def main_type; end
3094
+
3095
+ # Sets header <tt>'Proxy-Authorization'</tt> using the given
3096
+ # +account+ and +password+ strings:
3097
+ #
3098
+ # req.proxy_basic_auth('my_account', 'my_password')
3099
+ # req['Proxy-Authorization']
3100
+ # # => "Basic bXlfYWNjb3VudDpteV9wYXNzd29yZA=="
3101
+ #
3102
+ # source://net-http//lib/net/http/header.rb#956
3103
+ def proxy_basic_auth(account, password); end
3104
+
3105
+ # Returns an array of Range objects that represent
3106
+ # the value of field <tt>'Range'</tt>,
3107
+ # or +nil+ if there is no such field;
3108
+ # see {Range request header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#range-request-header]:
3109
+ #
3110
+ # req = Net::HTTP::Get.new(uri)
3111
+ # req['Range'] = 'bytes=0-99,200-299,400-499'
3112
+ # req.range # => [0..99, 200..299, 400..499]
3113
+ # req.delete('Range')
3114
+ # req.range # # => nil
3115
+ #
3116
+ # source://net-http//lib/net/http/header.rb#509
3117
+ def range; end
3118
+
3119
+ # call-seq:
3120
+ # set_range(length) -> length
3121
+ # set_range(offset, length) -> range
3122
+ # set_range(begin..length) -> range
3123
+ #
3124
+ # Sets the value for field <tt>'Range'</tt>;
3125
+ # see {Range request header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#range-request-header]:
3126
+ #
3127
+ # With argument +length+:
3128
+ #
3129
+ # req = Net::HTTP::Get.new(uri)
3130
+ # req.set_range(100) # => 100
3131
+ # req['Range'] # => "bytes=0-99"
3132
+ #
3133
+ # With arguments +offset+ and +length+:
3134
+ #
3135
+ # req.set_range(100, 100) # => 100...200
3136
+ # req['Range'] # => "bytes=100-199"
3137
+ #
3138
+ # With argument +range+:
3139
+ #
3140
+ # req.set_range(100..199) # => 100..199
3141
+ # req['Range'] # => "bytes=100-199"
3142
+ #
3143
+ # Net::HTTPHeader#range= is an alias for Net::HTTPHeader#set_range.
3144
+ #
3145
+ # source://net-http//lib/net/http/header.rb#576
3146
+ def range=(r, e = T.unsafe(nil)); end
3147
+
3148
+ # Returns the integer representing length of the value of field
3149
+ # <tt>'Content-Range'</tt>, or +nil+ if no such field exists;
3150
+ # see {Content-Range response header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-range-response-header]:
3151
+ #
3152
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
3153
+ # res['Content-Range'] # => nil
3154
+ # res['Content-Range'] = 'bytes 0-499/1000'
3155
+ # res.range_length # => 500
3156
+ #
3157
+ # source://net-http//lib/net/http/header.rb#687
3158
+ def range_length; end
3159
+
3160
+ # Sets the value of field <tt>'Content-Type'</tt>;
3161
+ # returns the new value;
3162
+ # see {Content-Type request header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-type-request-header]:
3163
+ #
3164
+ # req = Net::HTTP::Get.new(uri)
3165
+ # req.set_content_type('application/json') # => ["application/json"]
3166
+ #
3167
+ # Net::HTTPHeader#content_type= is an alias for Net::HTTPHeader#set_content_type.
3168
+ #
3169
+ # source://net-http//lib/net/http/header.rb#772
3170
+ def set_content_type(type, params = T.unsafe(nil)); end
3171
+
3172
+ # Stores form data to be used in a +POST+ or +PUT+ request.
3173
+ #
3174
+ # The form data given in +params+ consists of zero or more fields;
3175
+ # each field is:
3176
+ #
3177
+ # - A scalar value.
3178
+ # - A name/value pair.
3179
+ # - An IO stream opened for reading.
3180
+ #
3181
+ # Argument +params+ should be an
3182
+ # {Enumerable}[https://docs.ruby-lang.org/en/master/Enumerable.html#module-Enumerable-label-Enumerable+in+Ruby+Classes]
3183
+ # (method <tt>params.map</tt> will be called),
3184
+ # and is often an array or hash.
3185
+ #
3186
+ # First, we set up a request:
3187
+ #
3188
+ # _uri = uri.dup
3189
+ # _uri.path ='/posts'
3190
+ # req = Net::HTTP::Post.new(_uri)
3191
+ #
3192
+ # <b>Argument +params+ As an Array</b>
3193
+ #
3194
+ # When +params+ is an array,
3195
+ # each of its elements is a subarray that defines a field;
3196
+ # the subarray may contain:
3197
+ #
3198
+ # - One string:
3199
+ #
3200
+ # req.set_form([['foo'], ['bar'], ['baz']])
3201
+ #
3202
+ # - Two strings:
3203
+ #
3204
+ # req.set_form([%w[foo 0], %w[bar 1], %w[baz 2]])
3205
+ #
3206
+ # - When argument +enctype+ (see below) is given as
3207
+ # <tt>'multipart/form-data'</tt>:
3208
+ #
3209
+ # - A string name and an IO stream opened for reading:
3210
+ #
3211
+ # require 'stringio'
3212
+ # req.set_form([['file', StringIO.new('Ruby is cool.')]])
3213
+ #
3214
+ # - A string name, an IO stream opened for reading,
3215
+ # and an options hash, which may contain these entries:
3216
+ #
3217
+ # - +:filename+: The name of the file to use.
3218
+ # - +:content_type+: The content type of the uploaded file.
3219
+ #
3220
+ # Example:
3221
+ #
3222
+ # req.set_form([['file', file, {filename: "other-filename.foo"}]]
3223
+ #
3224
+ # The various forms may be mixed:
3225
+ #
3226
+ # req.set_form(['foo', %w[bar 1], ['file', file]])
3227
+ #
3228
+ # <b>Argument +params+ As a Hash</b>
3229
+ #
3230
+ # When +params+ is a hash,
3231
+ # each of its entries is a name/value pair that defines a field:
3232
+ #
3233
+ # - The name is a string.
3234
+ # - The value may be:
3235
+ #
3236
+ # - +nil+.
3237
+ # - Another string.
3238
+ # - An IO stream opened for reading
3239
+ # (only when argument +enctype+ -- see below -- is given as
3240
+ # <tt>'multipart/form-data'</tt>).
3241
+ #
3242
+ # Examples:
3243
+ #
3244
+ # # Nil-valued fields.
3245
+ # req.set_form({'foo' => nil, 'bar' => nil, 'baz' => nil})
3246
+ #
3247
+ # # String-valued fields.
3248
+ # req.set_form({'foo' => 0, 'bar' => 1, 'baz' => 2})
3249
+ #
3250
+ # # IO-valued field.
3251
+ # require 'stringio'
3252
+ # req.set_form({'file' => StringIO.new('Ruby is cool.')})
3253
+ #
3254
+ # # Mixture of fields.
3255
+ # req.set_form({'foo' => nil, 'bar' => 1, 'file' => file})
3256
+ #
3257
+ # Optional argument +enctype+ specifies the value to be given
3258
+ # to field <tt>'Content-Type'</tt>, and must be one of:
3259
+ #
3260
+ # - <tt>'application/x-www-form-urlencoded'</tt> (the default).
3261
+ # - <tt>'multipart/form-data'</tt>;
3262
+ # see {RFC 7578}[https://www.rfc-editor.org/rfc/rfc7578].
3263
+ #
3264
+ # Optional argument +formopt+ is a hash of options
3265
+ # (applicable only when argument +enctype+
3266
+ # is <tt>'multipart/form-data'</tt>)
3267
+ # that may include the following entries:
3268
+ #
3269
+ # - +:boundary+: The value is the boundary string for the multipart message.
3270
+ # If not given, the boundary is a random string.
3271
+ # See {Boundary}[https://www.rfc-editor.org/rfc/rfc7578#section-4.1].
3272
+ # - +:charset+: Value is the character set for the form submission.
3273
+ # Field names and values of non-file fields should be encoded with this charset.
3274
+ #
3275
+ # source://net-http//lib/net/http/header.rb#924
3276
+ def set_form(params, enctype = T.unsafe(nil), formopt = T.unsafe(nil)); end
3277
+
3278
+ # Sets the request body to a URL-encoded string derived from argument +params+,
3279
+ # and sets request header field <tt>'Content-Type'</tt>
3280
+ # to <tt>'application/x-www-form-urlencoded'</tt>.
3281
+ #
3282
+ # The resulting request is suitable for HTTP request +POST+ or +PUT+.
3283
+ #
3284
+ # Argument +params+ must be suitable for use as argument +enum+ to
3285
+ # {URI.encode_www_form}[https://docs.ruby-lang.org/en/master/URI.html#method-c-encode_www_form].
3286
+ #
3287
+ # With only argument +params+ given,
3288
+ # sets the body to a URL-encoded string with the default separator <tt>'&'</tt>:
3289
+ #
3290
+ # req = Net::HTTP::Post.new('example.com')
3291
+ #
3292
+ # req.set_form_data(q: 'ruby', lang: 'en')
3293
+ # req.body # => "q=ruby&lang=en"
3294
+ # req['Content-Type'] # => "application/x-www-form-urlencoded"
3295
+ #
3296
+ # req.set_form_data([['q', 'ruby'], ['lang', 'en']])
3297
+ # req.body # => "q=ruby&lang=en"
3298
+ #
3299
+ # req.set_form_data(q: ['ruby', 'perl'], lang: 'en')
3300
+ # req.body # => "q=ruby&q=perl&lang=en"
3301
+ #
3302
+ # req.set_form_data([['q', 'ruby'], ['q', 'perl'], ['lang', 'en']])
3303
+ # req.body # => "q=ruby&q=perl&lang=en"
3304
+ #
3305
+ # With string argument +sep+ also given,
3306
+ # uses that string as the separator:
3307
+ #
3308
+ # req.set_form_data({q: 'ruby', lang: 'en'}, '|')
3309
+ # req.body # => "q=ruby|lang=en"
3310
+ #
3311
+ # Net::HTTPHeader#form_data= is an alias for Net::HTTPHeader#set_form_data.
3312
+ #
3313
+ # source://net-http//lib/net/http/header.rb#812
3314
+ def set_form_data(params, sep = T.unsafe(nil)); end
3315
+
3316
+ # call-seq:
3317
+ # set_range(length) -> length
3318
+ # set_range(offset, length) -> range
3319
+ # set_range(begin..length) -> range
3320
+ #
3321
+ # Sets the value for field <tt>'Range'</tt>;
3322
+ # see {Range request header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#range-request-header]:
3323
+ #
3324
+ # With argument +length+:
3325
+ #
3326
+ # req = Net::HTTP::Get.new(uri)
3327
+ # req.set_range(100) # => 100
3328
+ # req['Range'] # => "bytes=0-99"
3329
+ #
3330
+ # With arguments +offset+ and +length+:
3331
+ #
3332
+ # req.set_range(100, 100) # => 100...200
3333
+ # req['Range'] # => "bytes=100-199"
3334
+ #
3335
+ # With argument +range+:
3336
+ #
3337
+ # req.set_range(100..199) # => 100..199
3338
+ # req['Range'] # => "bytes=100-199"
3339
+ #
3340
+ # Net::HTTPHeader#range= is an alias for Net::HTTPHeader#set_range.
3341
+ #
3342
+ # source://net-http//lib/net/http/header.rb#576
3343
+ def set_range(r, e = T.unsafe(nil)); end
3344
+
3345
+ # source://net-http//lib/net/http/header.rb#208
3346
+ def size; end
3347
+
3348
+ # Returns the trailing ('subtype') part of the
3349
+ # {media type}[https://en.wikipedia.org/wiki/Media_type]
3350
+ # from the value of field <tt>'Content-Type'</tt>,
3351
+ # or +nil+ if no such field exists;
3352
+ # see {Content-Type response header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-type-response-header]:
3353
+ #
3354
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
3355
+ # res['content-type'] # => "application/json; charset=utf-8"
3356
+ # res.sub_type # => "json"
3357
+ #
3358
+ # source://net-http//lib/net/http/header.rb#738
3359
+ def sub_type; end
3360
+
3361
+ # Returns a hash of the key/value pairs:
3362
+ #
3363
+ # req = Net::HTTP::Get.new(uri)
3364
+ # req.to_hash
3365
+ # # =>
3366
+ # {"accept-encoding"=>["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],
3367
+ # "accept"=>["*/*"],
3368
+ # "user-agent"=>["Ruby"],
3369
+ # "host"=>["jsonplaceholder.typicode.com"]}
3370
+ #
3371
+ # source://net-http//lib/net/http/header.rb#477
3372
+ def to_hash; end
3373
+
3374
+ # Returns the trailing ('parameters') part of the value of field <tt>'Content-Type'</tt>,
3375
+ # or +nil+ if no such field exists;
3376
+ # see {Content-Type response header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-type-response-header]:
3377
+ #
3378
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
3379
+ # res['content-type'] # => "application/json; charset=utf-8"
3380
+ # res.type_params # => {"charset"=>"utf-8"}
3381
+ #
3382
+ # source://net-http//lib/net/http/header.rb#753
3383
+ def type_params; end
3384
+
3385
+ private
3386
+
3387
+ # source://net-http//lib/net/http/header.rb#285
3388
+ def append_field_value(ary, val); end
3389
+
3390
+ # source://net-http//lib/net/http/header.rb#960
3391
+ def basic_encode(account, password); end
3392
+
3393
+ # source://net-http//lib/net/http/header.rb#493
3394
+ def capitalize(name); end
3395
+
3396
+ # source://net-http//lib/net/http/header.rb#270
3397
+ def set_field(key, val); end
3398
+ end
3399
+
3400
+ # source://net-http//lib/net/http/header.rb#183
3401
+ Net::HTTPHeader::MAX_FIELD_LENGTH = T.let(T.unsafe(nil), Integer)
3402
+
3403
+ # source://net-http//lib/net/http/header.rb#182
3404
+ Net::HTTPHeader::MAX_KEY_LENGTH = T.let(T.unsafe(nil), Integer)
3405
+
3406
+ # source://net-http//lib/net/http/responses.rb#23
3407
+ Net::HTTPInformation::EXCEPTION_TYPE = Net::HTTPError
3408
+
3409
+ # source://net-http//lib/net/http/backward.rb#19
3410
+ Net::HTTPInformationCode = Net::HTTPInformation
3411
+
3412
+ # Response class for <tt>Loop Detected (WebDAV)</tt> responses (status code 508).
3413
+ #
3414
+ # The server detected an infinite loop while processing the request.
3415
+ #
3416
+ # :include: doc/net-http/included_getters.rdoc
3417
+ #
3418
+ # References:
3419
+ #
3420
+ # - {Mozilla}[https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/508].
3421
+ # - {RFC 5942}[https://www.rfc-editor.org/rfc/rfc5842.html#section-7.2].
3422
+ # - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#508].
3423
+ #
3424
+ # source://net-http//lib/net/http/responses.rb#1061
3425
+ class Net::HTTPLoopDetected < ::Net::HTTPServerError; end
3426
+
3427
+ # source://net-http//lib/net/http/responses.rb#1062
3428
+ Net::HTTPLoopDetected::HAS_BODY = T.let(T.unsafe(nil), TrueClass)
3429
+
3430
+ # Response class for <tt>Misdirected Request</tt> responses (status code 421).
3431
+ #
3432
+ # The request was directed at a server that is not able to produce a response.
3433
+ #
3434
+ # :include: doc/net-http/included_getters.rdoc
3435
+ #
3436
+ # References:
3437
+ #
3438
+ # - {RFC 9110}[https://www.rfc-editor.org/rfc/rfc9110.html#name-421-misdirected-request].
3439
+ # - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#421].
3440
+ #
3441
+ # source://net-http//lib/net/http/responses.rb#776
3442
+ class Net::HTTPMisdirectedRequest < ::Net::HTTPClientError; end
3443
+
3444
+ # source://net-http//lib/net/http/responses.rb#777
3445
+ Net::HTTPMisdirectedRequest::HAS_BODY = T.let(T.unsafe(nil), TrueClass)
3446
+
3447
+ # source://net-http//lib/net/http/responses.rb#378
3448
+ Net::HTTPMovedTemporarily = Net::HTTPFound
3449
+
3450
+ # source://net-http//lib/net/http/responses.rb#343
3451
+ Net::HTTPMultipleChoice = Net::HTTPMultipleChoices
3452
+
3453
+ # Response class for <tt>Not Extended</tt> responses (status code 510).
3454
+ #
3455
+ # Further extensions to the request are required for the server to fulfill it.
3456
+ #
3457
+ # :include: doc/net-http/included_getters.rdoc
3458
+ #
3459
+ # References:
3460
+ #
3461
+ # - {Mozilla}[https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/510].
3462
+ # - {RFC 2774}[https://www.rfc-editor.org/rfc/rfc2774.html#section-7].
3463
+ # - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#510].
3464
+ #
3465
+ # source://net-http//lib/net/http/responses.rb#1078
3466
+ class Net::HTTPNotExtended < ::Net::HTTPServerError; end
3467
+
3468
+ # source://net-http//lib/net/http/responses.rb#1079
3469
+ Net::HTTPNotExtended::HAS_BODY = T.let(T.unsafe(nil), TrueClass)
3470
+
3471
+ # Response class for <tt>Payload Too Large</tt> responses (status code 413).
3472
+ #
3473
+ # The request is larger than the server is willing or able to process.
3474
+ #
3475
+ # :include: doc/net-http/included_getters.rdoc
3476
+ #
3477
+ # References:
3478
+ #
3479
+ # - {Mozilla}[https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/413].
3480
+ # - {RFC 9110}[https://www.rfc-editor.org/rfc/rfc9110.html#name-413-content-too-large].
3481
+ # - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#413].
3482
+ #
3483
+ # source://net-http//lib/net/http/responses.rb#688
3484
+ class Net::HTTPPayloadTooLarge < ::Net::HTTPClientError; end
3485
+
3486
+ # source://net-http//lib/net/http/responses.rb#689
3487
+ Net::HTTPPayloadTooLarge::HAS_BODY = T.let(T.unsafe(nil), TrueClass)
3488
+
3489
+ # Response class for +Processing+ responses (status code 102).
3490
+ #
3491
+ # The +Processing+ response indicates that the server has received
3492
+ # and is processing the request, but no response is available yet.
3493
+ #
3494
+ # :include: doc/net-http/included_getters.rdoc
3495
+ #
3496
+ # References:
3497
+ #
3498
+ # - {RFC 2518}[https://www.rfc-editor.org/rfc/rfc2518#section-10.1].
3499
+ # - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#102].
3500
+ #
3501
+ # source://net-http//lib/net/http/responses.rb#129
3502
+ class Net::HTTPProcessing < ::Net::HTTPInformation; end
3503
+
3504
+ # source://net-http//lib/net/http/responses.rb#130
3505
+ Net::HTTPProcessing::HAS_BODY = T.let(T.unsafe(nil), FalseClass)
3506
+
3507
+ # Response class for <tt>Range Not Satisfiable</tt> responses (status code 416).
3508
+ #
3509
+ # The request entity has a media type which the server or resource does not support.
3510
+ #
3511
+ # :include: doc/net-http/included_getters.rdoc
3512
+ #
3513
+ # References:
3514
+ #
3515
+ # - {Mozilla}[https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/416].
3516
+ # - {RFC 9110}[https://www.rfc-editor.org/rfc/rfc9110.html#name-416-range-not-satisfiable].
3517
+ # - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#416].
3518
+ #
3519
+ # source://net-http//lib/net/http/responses.rb#739
3520
+ class Net::HTTPRangeNotSatisfiable < ::Net::HTTPClientError; end
3521
+
3522
+ # source://net-http//lib/net/http/responses.rb#740
3523
+ Net::HTTPRangeNotSatisfiable::HAS_BODY = T.let(T.unsafe(nil), TrueClass)
3524
+
3525
+ # source://net-http//lib/net/http/responses.rb#53
3526
+ Net::HTTPRedirection::EXCEPTION_TYPE = Net::HTTPRetriableError
3527
+
3528
+ # source://net-http//lib/net/http/backward.rb#21
3529
+ Net::HTTPRedirectionCode = Net::HTTPRedirection
3530
+
3531
+ # source://net-http//lib/net/http/responses.rb#709
3532
+ Net::HTTPRequestURITooLarge = Net::HTTPURITooLong
3533
+
3534
+ # Typo since 2001
3535
+ #
3536
+ # source://net-http//lib/net/http/backward.rb#28
3537
+ Net::HTTPResponceReceiver = Net::HTTPResponse
3538
+
3539
+ # This class is the base class for \Net::HTTP response classes.
3540
+ #
3541
+ # == About the Examples
3542
+ #
3543
+ # :include: doc/net-http/examples.rdoc
3544
+ #
3545
+ # == Returned Responses
3546
+ #
3547
+ # \Method Net::HTTP.get_response returns
3548
+ # an instance of one of the subclasses of \Net::HTTPResponse:
3549
+ #
3550
+ # Net::HTTP.get_response(uri)
3551
+ # # => #<Net::HTTPOK 200 OK readbody=true>
3552
+ # Net::HTTP.get_response(hostname, '/nosuch')
3553
+ # # => #<Net::HTTPNotFound 404 Not Found readbody=true>
3554
+ #
3555
+ # As does method Net::HTTP#request:
3556
+ #
3557
+ # req = Net::HTTP::Get.new(uri)
3558
+ # Net::HTTP.start(hostname) do |http|
3559
+ # http.request(req)
3560
+ # end # => #<Net::HTTPOK 200 OK readbody=true>
3561
+ #
3562
+ # \Class \Net::HTTPResponse includes module Net::HTTPHeader,
3563
+ # which provides access to response header values via (among others):
3564
+ #
3565
+ # - \Hash-like method <tt>[]</tt>.
3566
+ # - Specific reader methods, such as +content_type+.
3567
+ #
3568
+ # Examples:
3569
+ #
3570
+ # res = Net::HTTP.get_response(uri) # => #<Net::HTTPOK 200 OK readbody=true>
3571
+ # res['Content-Type'] # => "text/html; charset=UTF-8"
3572
+ # res.content_type # => "text/html"
3573
+ #
3574
+ # == Response Subclasses
3575
+ #
3576
+ # \Class \Net::HTTPResponse has a subclass for each
3577
+ # {HTTP status code}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes].
3578
+ # You can look up the response class for a given code:
3579
+ #
3580
+ # Net::HTTPResponse::CODE_TO_OBJ['200'] # => Net::HTTPOK
3581
+ # Net::HTTPResponse::CODE_TO_OBJ['400'] # => Net::HTTPBadRequest
3582
+ # Net::HTTPResponse::CODE_TO_OBJ['404'] # => Net::HTTPNotFound
3583
+ #
3584
+ # And you can retrieve the status code for a response object:
3585
+ #
3586
+ # Net::HTTP.get_response(uri).code # => "200"
3587
+ # Net::HTTP.get_response(hostname, '/nosuch').code # => "404"
3588
+ #
3589
+ # The response subclasses (indentation shows class hierarchy):
3590
+ #
3591
+ # - Net::HTTPUnknownResponse (for unhandled \HTTP extensions).
3592
+ #
3593
+ # - Net::HTTPInformation:
3594
+ #
3595
+ # - Net::HTTPContinue (100)
3596
+ # - Net::HTTPSwitchProtocol (101)
3597
+ # - Net::HTTPProcessing (102)
3598
+ # - Net::HTTPEarlyHints (103)
3599
+ #
3600
+ # - Net::HTTPSuccess:
3601
+ #
3602
+ # - Net::HTTPOK (200)
3603
+ # - Net::HTTPCreated (201)
3604
+ # - Net::HTTPAccepted (202)
3605
+ # - Net::HTTPNonAuthoritativeInformation (203)
3606
+ # - Net::HTTPNoContent (204)
3607
+ # - Net::HTTPResetContent (205)
3608
+ # - Net::HTTPPartialContent (206)
3609
+ # - Net::HTTPMultiStatus (207)
3610
+ # - Net::HTTPAlreadyReported (208)
3611
+ # - Net::HTTPIMUsed (226)
3612
+ #
3613
+ # - Net::HTTPRedirection:
3614
+ #
3615
+ # - Net::HTTPMultipleChoices (300)
3616
+ # - Net::HTTPMovedPermanently (301)
3617
+ # - Net::HTTPFound (302)
3618
+ # - Net::HTTPSeeOther (303)
3619
+ # - Net::HTTPNotModified (304)
3620
+ # - Net::HTTPUseProxy (305)
3621
+ # - Net::HTTPTemporaryRedirect (307)
3622
+ # - Net::HTTPPermanentRedirect (308)
3623
+ #
3624
+ # - Net::HTTPClientError:
3625
+ #
3626
+ # - Net::HTTPBadRequest (400)
3627
+ # - Net::HTTPUnauthorized (401)
3628
+ # - Net::HTTPPaymentRequired (402)
3629
+ # - Net::HTTPForbidden (403)
3630
+ # - Net::HTTPNotFound (404)
3631
+ # - Net::HTTPMethodNotAllowed (405)
3632
+ # - Net::HTTPNotAcceptable (406)
3633
+ # - Net::HTTPProxyAuthenticationRequired (407)
3634
+ # - Net::HTTPRequestTimeOut (408)
3635
+ # - Net::HTTPConflict (409)
3636
+ # - Net::HTTPGone (410)
3637
+ # - Net::HTTPLengthRequired (411)
3638
+ # - Net::HTTPPreconditionFailed (412)
3639
+ # - Net::HTTPRequestEntityTooLarge (413)
3640
+ # - Net::HTTPRequestURITooLong (414)
3641
+ # - Net::HTTPUnsupportedMediaType (415)
3642
+ # - Net::HTTPRequestedRangeNotSatisfiable (416)
3643
+ # - Net::HTTPExpectationFailed (417)
3644
+ # - Net::HTTPMisdirectedRequest (421)
3645
+ # - Net::HTTPUnprocessableEntity (422)
3646
+ # - Net::HTTPLocked (423)
3647
+ # - Net::HTTPFailedDependency (424)
3648
+ # - Net::HTTPUpgradeRequired (426)
3649
+ # - Net::HTTPPreconditionRequired (428)
3650
+ # - Net::HTTPTooManyRequests (429)
3651
+ # - Net::HTTPRequestHeaderFieldsTooLarge (431)
3652
+ # - Net::HTTPUnavailableForLegalReasons (451)
3653
+ #
3654
+ # - Net::HTTPServerError:
3655
+ #
3656
+ # - Net::HTTPInternalServerError (500)
3657
+ # - Net::HTTPNotImplemented (501)
3658
+ # - Net::HTTPBadGateway (502)
3659
+ # - Net::HTTPServiceUnavailable (503)
3660
+ # - Net::HTTPGatewayTimeOut (504)
3661
+ # - Net::HTTPVersionNotSupported (505)
3662
+ # - Net::HTTPVariantAlsoNegotiates (506)
3663
+ # - Net::HTTPInsufficientStorage (507)
3664
+ # - Net::HTTPLoopDetected (508)
3665
+ # - Net::HTTPNotExtended (510)
3666
+ # - Net::HTTPNetworkAuthenticationRequired (511)
3667
+ #
3668
+ # There is also the Net::HTTPBadResponse exception which is raised when
3669
+ # there is a protocol error.
3670
+ #
3671
+ # source://net-http//lib/net/http/response.rb#135
3672
+ class Net::HTTPResponse
3673
+ include ::Net::HTTPHeader
3674
+
3675
+ # @return [HTTPResponse] a new instance of HTTPResponse
3676
+ #
3677
+ # source://net-http//lib/net/http/response.rb#194
3678
+ def initialize(httpv, code, msg); end
3679
+
3680
+ # Returns the string response body;
3681
+ # note that repeated calls for the unmodified body return a cached string:
3682
+ #
3683
+ # path = '/todos/1'
3684
+ # Net::HTTP.start(hostname) do |http|
3685
+ # res = http.get(path)
3686
+ # p res.body
3687
+ # p http.head(path).body # No body.
3688
+ # end
3689
+ #
3690
+ # Output:
3691
+ #
3692
+ # "{\n \"userId\": 1,\n \"id\": 1,\n \"title\": \"delectus aut autem\",\n \"completed\": false\n}"
3693
+ # nil
3694
+ #
3695
+ # source://net-http//lib/net/http/response.rb#400
3696
+ def body; end
3697
+
3698
+ # Sets the body of the response to the given value.
3699
+ #
3700
+ # source://net-http//lib/net/http/response.rb#405
3701
+ def body=(value); end
3702
+
3703
+ # Returns the value set by body_encoding=, or +false+ if none;
3704
+ # see #body_encoding=.
3705
+ #
3706
+ # source://net-http//lib/net/http/response.rb#229
3707
+ def body_encoding; end
3708
+
3709
+ # Sets the encoding that should be used when reading the body:
3710
+ #
3711
+ # - If the given value is an Encoding object, that encoding will be used.
3712
+ # - Otherwise if the value is a string, the value of
3713
+ # {Encoding#find(value)}[https://docs.ruby-lang.org/en/master/Encoding.html#method-c-find]
3714
+ # will be used.
3715
+ # - Otherwise an encoding will be deduced from the body itself.
3716
+ #
3717
+ # Examples:
3718
+ #
3719
+ # http = Net::HTTP.new(hostname)
3720
+ # req = Net::HTTP::Get.new('/')
3721
+ #
3722
+ # http.request(req) do |res|
3723
+ # p res.body.encoding # => #<Encoding:ASCII-8BIT>
3724
+ # end
3725
+ #
3726
+ # http.request(req) do |res|
3727
+ # res.body_encoding = "UTF-8"
3728
+ # p res.body.encoding # => #<Encoding:UTF-8>
3729
+ # end
3730
+ #
3731
+ # source://net-http//lib/net/http/response.rb#253
3732
+ def body_encoding=(value); end
3733
+
3734
+ # The HTTP result code string. For example, '302'. You can also
3735
+ # determine the response type by examining which response subclass
3736
+ # the response object is an instance of.
3737
+ #
3738
+ # source://net-http//lib/net/http/response.rb#213
3739
+ def code; end
3740
+
3741
+ # response <-> exception relationship
3742
+ #
3743
+ # source://net-http//lib/net/http/response.rb#270
3744
+ def code_type; end
3745
+
3746
+ # Set to true automatically when the request did not contain an
3747
+ # Accept-Encoding header from the user.
3748
+ #
3749
+ # source://net-http//lib/net/http/response.rb#225
3750
+ def decode_content; end
3751
+
3752
+ # Set to true automatically when the request did not contain an
3753
+ # Accept-Encoding header from the user.
3754
+ #
3755
+ # source://net-http//lib/net/http/response.rb#225
3756
+ def decode_content=(_arg0); end
3757
+
3758
+ # Returns the string response body;
3759
+ # note that repeated calls for the unmodified body return a cached string:
3760
+ #
3761
+ # path = '/todos/1'
3762
+ # Net::HTTP.start(hostname) do |http|
3763
+ # res = http.get(path)
3764
+ # p res.body
3765
+ # p http.head(path).body # No body.
3766
+ # end
3767
+ #
3768
+ # Output:
3769
+ #
3770
+ # "{\n \"userId\": 1,\n \"id\": 1,\n \"title\": \"delectus aut autem\",\n \"completed\": false\n}"
3771
+ # nil
3772
+ #
3773
+ # source://net-http//lib/net/http/response.rb#400
3774
+ def entity; end
3775
+
3776
+ # @raise [error_type()]
3777
+ #
3778
+ # source://net-http//lib/net/http/response.rb#274
3779
+ def error!; end
3780
+
3781
+ # source://net-http//lib/net/http/response.rb#280
3782
+ def error_type; end
3783
+
3784
+ # source://net-http//lib/net/http/response.rb#302
3785
+ def header; end
3786
+
3787
+ # The HTTP version supported by the server.
3788
+ #
3789
+ # source://net-http//lib/net/http/response.rb#208
3790
+ def http_version; end
3791
+
3792
+ # Whether to ignore EOF when reading bodies with a specified Content-Length
3793
+ # header.
3794
+ #
3795
+ # source://net-http//lib/net/http/response.rb#260
3796
+ def ignore_eof; end
3797
+
3798
+ # Whether to ignore EOF when reading bodies with a specified Content-Length
3799
+ # header.
3800
+ #
3801
+ # source://net-http//lib/net/http/response.rb#260
3802
+ def ignore_eof=(_arg0); end
3803
+
3804
+ # source://net-http//lib/net/http/response.rb#262
3805
+ def inspect; end
3806
+
3807
+ # The HTTP result message sent by the server. For example, 'Not Found'.
3808
+ #
3809
+ # source://net-http//lib/net/http/response.rb#216
3810
+ def message; end
3811
+
3812
+ # The HTTP result message sent by the server. For example, 'Not Found'.
3813
+ #
3814
+ # source://net-http//lib/net/http/response.rb#216
3815
+ def msg; end
3816
+
3817
+ # Gets the entity body returned by the remote HTTP server.
3818
+ #
3819
+ # If a block is given, the body is passed to the block, and
3820
+ # the body is provided in fragments, as it is read in from the socket.
3821
+ #
3822
+ # If +dest+ argument is given, response is read into that variable,
3823
+ # with <code>dest#<<</code> method (it could be String or IO, or any
3824
+ # other object responding to <code><<</code>).
3825
+ #
3826
+ # Calling this method a second or subsequent time for the same
3827
+ # HTTPResponse object will return the value already read.
3828
+ #
3829
+ # http.request_get('/index.html') {|res|
3830
+ # puts res.read_body
3831
+ # }
3832
+ #
3833
+ # http.request_get('/index.html') {|res|
3834
+ # p res.read_body.object_id # 538149362
3835
+ # p res.read_body.object_id # 538149362
3836
+ # }
3837
+ #
3838
+ # # using iterator
3839
+ # http.request_get('/index.html') {|res|
3840
+ # res.read_body do |segment|
3841
+ # print segment
3842
+ # end
3843
+ # }
3844
+ #
3845
+ # source://net-http//lib/net/http/response.rb#355
3846
+ def read_body(dest = T.unsafe(nil), &block); end
3847
+
3848
+ # source://net-http//lib/net/http/response.rb#307
3849
+ def read_header; end
3850
+
3851
+ # body
3852
+ #
3853
+ # source://net-http//lib/net/http/response.rb#316
3854
+ def reading_body(sock, reqmethodallowbody); end
3855
+
3856
+ # header (for backward compatibility only; DO NOT USE)
3857
+ #
3858
+ # source://net-http//lib/net/http/response.rb#297
3859
+ def response; end
3860
+
3861
+ # The URI used to fetch this response. The response URI is only available
3862
+ # if a URI was used to create the request.
3863
+ #
3864
+ # source://net-http//lib/net/http/response.rb#221
3865
+ def uri; end
3866
+
3867
+ # source://net-http//lib/net/http/response.rb#289
3868
+ def uri=(uri); end
3869
+
3870
+ # Raises an HTTP error if the response is not 2xx (success).
3871
+ #
3872
+ # source://net-http//lib/net/http/response.rb#285
3873
+ def value; end
3874
+
3875
+ private
3876
+
3877
+ # source://net-http//lib/net/http/response.rb#450
3878
+ def check_bom(str); end
3879
+
3880
+ # source://net-http//lib/net/http/response.rb#414
3881
+ def detect_encoding(str, encoding = T.unsafe(nil)); end
3882
+
3883
+ # source://net-http//lib/net/http/response.rb#540
3884
+ def extracting_encodings_from_meta_elements(value); end
3885
+
3886
+ # source://net-http//lib/net/http/response.rb#505
3887
+ def get_attribute(ss); end
3888
+
3889
+ # Checks for a supported Content-Encoding header and yields an Inflate
3890
+ # wrapper for this response's socket when zlib is present. If the
3891
+ # Content-Encoding is not supported or zlib is missing, the plain socket is
3892
+ # yielded.
3893
+ #
3894
+ # If a Content-Range header is present, a plain socket is yielded as the
3895
+ # bytes in the range may not be a complete deflate block.
3896
+ #
3897
+ # source://net-http//lib/net/http/response.rb#557
3898
+ def inflater; end
3899
+
3900
+ # @raise [ArgumentError]
3901
+ #
3902
+ # source://net-http//lib/net/http/response.rb#646
3903
+ def procdest(dest, block); end
3904
+
3905
+ # source://net-http//lib/net/http/response.rb#592
3906
+ def read_body_0(dest); end
3907
+
3908
+ # read_chunked reads from +@socket+ for chunk-size, chunk-extension, CRLF,
3909
+ # etc. and +chunk_data_io+ for chunk-data which may be deflate or gzip
3910
+ # encoded.
3911
+ #
3912
+ # See RFC 2616 section 3.6.1 for definitions
3913
+ #
3914
+ # source://net-http//lib/net/http/response.rb#622
3915
+ def read_chunked(dest, chunk_data_io); end
3916
+
3917
+ # source://net-http//lib/net/http/response.rb#464
3918
+ def scanning_meta(str); end
3919
+
3920
+ # source://net-http//lib/net/http/response.rb#434
3921
+ def sniff_encoding(str, encoding = T.unsafe(nil)); end
3922
+
3923
+ # @raise [IOError]
3924
+ #
3925
+ # source://net-http//lib/net/http/response.rb#642
3926
+ def stream_check; end
3927
+
3928
+ class << self
3929
+ # true if the response has a body.
3930
+ #
3931
+ # @return [Boolean]
3932
+ #
3933
+ # source://net-http//lib/net/http/response.rb#138
3934
+ def body_permitted?; end
3935
+
3936
+ # source://net-http//lib/net/http/response.rb#142
3937
+ def exception_type; end
3938
+
3939
+ # source://net-http//lib/net/http/response.rb#146
3940
+ def read_new(sock); end
3941
+
3942
+ private
3943
+
3944
+ # @yield [key, value]
3945
+ #
3946
+ # source://net-http//lib/net/http/response.rb#170
3947
+ def each_response_header(sock); end
3948
+
3949
+ # source://net-http//lib/net/http/response.rb#157
3950
+ def read_status_line(sock); end
3951
+
3952
+ # source://net-http//lib/net/http/response.rb#164
3953
+ def response_class(code); end
3954
+ end
3955
+ end
3956
+
3957
+ # Inflater is a wrapper around Net::BufferedIO that transparently inflates
3958
+ # zlib and gzip streams.
3959
+ #
3960
+ # source://net-http//lib/net/http/response.rb#660
3961
+ class Net::HTTPResponse::Inflater
3962
+ # Creates a new Inflater wrapping +socket+
3963
+ #
3964
+ # @return [Inflater] a new instance of Inflater
3965
+ #
3966
+ # source://net-http//lib/net/http/response.rb#665
3967
+ def initialize(socket); end
3968
+
3969
+ # The number of bytes inflated, used to update the Content-Length of
3970
+ # the response.
3971
+ #
3972
+ # source://net-http//lib/net/http/response.rb#683
3973
+ def bytes_inflated; end
3974
+
3975
+ # Finishes the inflate stream.
3976
+ #
3977
+ # source://net-http//lib/net/http/response.rb#674
3978
+ def finish; end
3979
+
3980
+ # Returns a Net::ReadAdapter that inflates each read chunk into +dest+.
3981
+ #
3982
+ # This allows a large response body to be inflated without storing the
3983
+ # entire body in memory.
3984
+ #
3985
+ # source://net-http//lib/net/http/response.rb#693
3986
+ def inflate_adapter(dest); end
3987
+
3988
+ # Reads +clen+ bytes from the socket, inflates them, then writes them to
3989
+ # +dest+. +ignore_eof+ is passed down to Net::BufferedIO#read
3990
+ #
3991
+ # Unlike Net::BufferedIO#read, this method returns more than +clen+ bytes.
3992
+ # At this time there is no way for a user of Net::HTTPResponse to read a
3993
+ # specific number of bytes from the HTTP response body, so this internal
3994
+ # API does not return the same number of bytes as were requested.
3995
+ #
3996
+ # See https://bugs.ruby-lang.org/issues/6492 for further discussion.
3997
+ #
3998
+ # source://net-http//lib/net/http/response.rb#720
3999
+ def read(clen, dest, ignore_eof = T.unsafe(nil)); end
4000
+
4001
+ # Reads the rest of the socket, inflates it, then writes it to +dest+.
4002
+ #
4003
+ # source://net-http//lib/net/http/response.rb#729
4004
+ def read_all(dest); end
4005
+ end
4006
+
4007
+ # source://net-http//lib/net/http/backward.rb#26
4008
+ Net::HTTPResponseReceiver = Net::HTTPResponse
4009
+
4010
+ # source://net-http//lib/net/http/backward.rb#22
4011
+ Net::HTTPRetriableCode = Net::HTTPRedirection
4012
+
4013
+ # source://net-http//lib/net/http/responses.rb#81
4014
+ Net::HTTPServerError::EXCEPTION_TYPE = Net::HTTPFatalError
4015
+
4016
+ # source://net-http//lib/net/http/backward.rb#25
4017
+ Net::HTTPServerErrorCode = Net::HTTPServerError
4018
+
4019
+ # source://net-http//lib/net/http/backward.rb#17
4020
+ Net::HTTPSession = Net::HTTP
4021
+
4022
+ # source://net-http//lib/net/http/responses.rb#38
4023
+ Net::HTTPSuccess::EXCEPTION_TYPE = Net::HTTPError
4024
+
4025
+ # source://net-http//lib/net/http/backward.rb#20
4026
+ Net::HTTPSuccessCode = Net::HTTPSuccess
4027
+
4028
+ # Response class for <tt>URI Too Long</tt> responses (status code 414).
4029
+ #
4030
+ # The URI provided was too long for the server to process.
4031
+ #
4032
+ # :include: doc/net-http/included_getters.rdoc
4033
+ #
4034
+ # References:
4035
+ #
4036
+ # - {Mozilla}[https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/414].
4037
+ # - {RFC 9110}[https://www.rfc-editor.org/rfc/rfc9110.html#name-414-uri-too-long].
4038
+ # - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#414].
4039
+ #
4040
+ # source://net-http//lib/net/http/responses.rb#705
4041
+ class Net::HTTPURITooLong < ::Net::HTTPClientError; end
4042
+
4043
+ # source://net-http//lib/net/http/responses.rb#706
4044
+ Net::HTTPURITooLong::HAS_BODY = T.let(T.unsafe(nil), TrueClass)
4045
+
4046
+ # source://net-http//lib/net/http/responses.rb#9
4047
+ Net::HTTPUnknownResponse::EXCEPTION_TYPE = Net::HTTPError
4048
+
4049
+ # Response class for <tt>Variant Also Negotiates</tt> responses (status code 506).
4050
+ #
4051
+ # Transparent content negotiation for the request results in a circular reference.
4052
+ #
4053
+ # :include: doc/net-http/included_getters.rdoc
4054
+ #
4055
+ # References:
4056
+ #
4057
+ # - {Mozilla}[https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/506].
4058
+ # - {RFC 2295}[https://www.rfc-editor.org/rfc/rfc2295#section-8.1].
4059
+ # - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#506].
4060
+ #
4061
+ # source://net-http//lib/net/http/responses.rb#1029
4062
+ class Net::HTTPVariantAlsoNegotiates < ::Net::HTTPServerError; end
4063
+
4064
+ # source://net-http//lib/net/http/responses.rb#1030
4065
+ Net::HTTPVariantAlsoNegotiates::HAS_BODY = T.let(T.unsafe(nil), TrueClass)
4066
+
4067
+ # source://net-http//lib/net/http/backward.rb#12
4068
+ Net::NetPrivate::HTTPRequest = Net::HTTPRequest