mirror of
https://github.com/ruby/ruby.git
synced 2026-01-26 20:19:19 +00:00
[ruby/rubygems] Update vendored net-http to 0.9.1
https://github.com/ruby/rubygems/commit/12072e8d23
This commit is contained in:
parent
8c8561adbc
commit
b87b6edf2e
83
lib/rubygems/vendor/net-http/lib/net/http.rb
vendored
83
lib/rubygems/vendor/net-http/lib/net/http.rb
vendored
@ -724,7 +724,7 @@ module Gem::Net #:nodoc:
|
||||
class HTTP < Protocol
|
||||
|
||||
# :stopdoc:
|
||||
VERSION = "0.7.0"
|
||||
VERSION = "0.9.1"
|
||||
HTTPVersion = '1.1'
|
||||
begin
|
||||
require 'zlib'
|
||||
@ -1179,6 +1179,7 @@ module Gem::Net #:nodoc:
|
||||
@debug_output = options[:debug_output]
|
||||
@response_body_encoding = options[:response_body_encoding]
|
||||
@ignore_eof = options[:ignore_eof]
|
||||
@tcpsocket_supports_open_timeout = nil
|
||||
|
||||
@proxy_from_env = false
|
||||
@proxy_uri = nil
|
||||
@ -1321,6 +1322,9 @@ module Gem::Net #:nodoc:
|
||||
# Sets the proxy password;
|
||||
# see {Proxy Server}[rdoc-ref:Gem::Net::HTTP@Proxy+Server].
|
||||
attr_writer :proxy_pass
|
||||
|
||||
# Sets whether the proxy uses SSL;
|
||||
# see {Proxy Server}[rdoc-ref:Gem::Net::HTTP@Proxy+Server].
|
||||
attr_writer :proxy_use_ssl
|
||||
|
||||
# Returns the IP address for the connection.
|
||||
@ -1527,7 +1531,7 @@ module Gem::Net #:nodoc:
|
||||
:verify_depth,
|
||||
:verify_mode,
|
||||
:verify_hostname,
|
||||
] # :nodoc:
|
||||
].freeze # :nodoc:
|
||||
|
||||
SSL_IVNAMES = SSL_ATTRIBUTES.map { |a| "@#{a}".to_sym }.freeze # :nodoc:
|
||||
|
||||
@ -1632,6 +1636,21 @@ module Gem::Net #:nodoc:
|
||||
self
|
||||
end
|
||||
|
||||
# Finishes the \HTTP session:
|
||||
#
|
||||
# http = Gem::Net::HTTP.new(hostname)
|
||||
# http.start
|
||||
# http.started? # => true
|
||||
# http.finish # => nil
|
||||
# http.started? # => false
|
||||
#
|
||||
# Raises IOError if not in a session.
|
||||
def finish
|
||||
raise IOError, 'HTTP session not yet started' unless started?
|
||||
do_finish
|
||||
end
|
||||
|
||||
# :stopdoc:
|
||||
def do_start
|
||||
connect
|
||||
@started = true
|
||||
@ -1654,14 +1673,15 @@ module Gem::Net #:nodoc:
|
||||
end
|
||||
|
||||
debug "opening connection to #{conn_addr}:#{conn_port}..."
|
||||
s = Gem::Timeout.timeout(@open_timeout, Gem::Net::OpenTimeout) {
|
||||
begin
|
||||
TCPSocket.open(conn_addr, conn_port, @local_host, @local_port)
|
||||
rescue => e
|
||||
raise e, "Failed to open TCP connection to " +
|
||||
"#{conn_addr}:#{conn_port} (#{e.message})"
|
||||
begin
|
||||
s = timeouted_connect(conn_addr, conn_port)
|
||||
rescue => e
|
||||
if (defined?(IO::TimeoutError) && e.is_a?(IO::TimeoutError)) || e.is_a?(Errno::ETIMEDOUT) # for compatibility with previous versions
|
||||
e = Gem::Net::OpenTimeout.new(e)
|
||||
end
|
||||
}
|
||||
raise e, "Failed to open TCP connection to " +
|
||||
"#{conn_addr}:#{conn_port} (#{e.message})"
|
||||
end
|
||||
s.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1)
|
||||
debug "opened"
|
||||
if use_ssl?
|
||||
@ -1754,24 +1774,31 @@ module Gem::Net #:nodoc:
|
||||
end
|
||||
private :connect
|
||||
|
||||
tcp_socket_parameters = TCPSocket.instance_method(:initialize).parameters
|
||||
TCP_SOCKET_NEW_HAS_OPEN_TIMEOUT = if tcp_socket_parameters != [[:rest]]
|
||||
tcp_socket_parameters.include?([:key, :open_timeout])
|
||||
else
|
||||
# Use Socket.tcp to find out since there is no parameters information for TCPSocket#initialize
|
||||
# See discussion in https://github.com/ruby/net-http/pull/224
|
||||
Socket.method(:tcp).parameters.include?([:key, :open_timeout])
|
||||
end
|
||||
private_constant :TCP_SOCKET_NEW_HAS_OPEN_TIMEOUT
|
||||
|
||||
def timeouted_connect(conn_addr, conn_port)
|
||||
if TCP_SOCKET_NEW_HAS_OPEN_TIMEOUT
|
||||
TCPSocket.open(conn_addr, conn_port, @local_host, @local_port, open_timeout: @open_timeout)
|
||||
else
|
||||
Gem::Timeout.timeout(@open_timeout, Gem::Net::OpenTimeout) {
|
||||
TCPSocket.open(conn_addr, conn_port, @local_host, @local_port)
|
||||
}
|
||||
end
|
||||
end
|
||||
private :timeouted_connect
|
||||
|
||||
def on_connect
|
||||
end
|
||||
private :on_connect
|
||||
|
||||
# Finishes the \HTTP session:
|
||||
#
|
||||
# http = Gem::Net::HTTP.new(hostname)
|
||||
# http.start
|
||||
# http.started? # => true
|
||||
# http.finish # => nil
|
||||
# http.started? # => false
|
||||
#
|
||||
# Raises IOError if not in a session.
|
||||
def finish
|
||||
raise IOError, 'HTTP session not yet started' unless started?
|
||||
do_finish
|
||||
end
|
||||
|
||||
def do_finish
|
||||
@started = false
|
||||
@socket.close if @socket
|
||||
@ -1821,6 +1848,8 @@ module Gem::Net #:nodoc:
|
||||
}
|
||||
end
|
||||
|
||||
# :startdoc:
|
||||
|
||||
class << HTTP
|
||||
# Returns true if self is a class which was created by HTTP::Proxy.
|
||||
def proxy_class?
|
||||
@ -1915,6 +1944,7 @@ module Gem::Net #:nodoc:
|
||||
alias proxyport proxy_port #:nodoc: obsolete
|
||||
|
||||
private
|
||||
# :stopdoc:
|
||||
|
||||
def unescape(value)
|
||||
require 'cgi/escape'
|
||||
@ -1943,6 +1973,7 @@ module Gem::Net #:nodoc:
|
||||
path
|
||||
end
|
||||
end
|
||||
# :startdoc:
|
||||
|
||||
#
|
||||
# HTTP operations
|
||||
@ -2397,7 +2428,9 @@ module Gem::Net #:nodoc:
|
||||
res
|
||||
end
|
||||
|
||||
IDEMPOTENT_METHODS_ = %w/GET HEAD PUT DELETE OPTIONS TRACE/ # :nodoc:
|
||||
# :stopdoc:
|
||||
|
||||
IDEMPOTENT_METHODS_ = %w/GET HEAD PUT DELETE OPTIONS TRACE/.freeze # :nodoc:
|
||||
|
||||
def transport_request(req)
|
||||
count = 0
|
||||
@ -2554,7 +2587,7 @@ module Gem::Net #:nodoc:
|
||||
alias_method :D, :debug
|
||||
end
|
||||
|
||||
# for backward compatibility until Ruby 3.5
|
||||
# for backward compatibility until Ruby 4.0
|
||||
# https://bugs.ruby-lang.org/issues/20900
|
||||
# https://github.com/bblimke/webmock/pull/1081
|
||||
HTTPSession = HTTP
|
||||
|
||||
@ -3,7 +3,7 @@ module Gem::Net
|
||||
# Gem::Net::HTTP exception class.
|
||||
# You cannot use Gem::Net::HTTPExceptions directly; instead, you must use
|
||||
# its subclasses.
|
||||
module HTTPExceptions
|
||||
module HTTPExceptions # :nodoc:
|
||||
def initialize(msg, res) #:nodoc:
|
||||
super msg
|
||||
@response = res
|
||||
@ -12,6 +12,7 @@ module Gem::Net
|
||||
alias data response #:nodoc: obsolete
|
||||
end
|
||||
|
||||
# :stopdoc:
|
||||
class HTTPError < ProtocolError
|
||||
include HTTPExceptions
|
||||
end
|
||||
|
||||
@ -19,16 +19,13 @@ class Gem::Net::HTTPGenericRequest
|
||||
|
||||
if Gem::URI === uri_or_path then
|
||||
raise ArgumentError, "not an HTTP Gem::URI" unless Gem::URI::HTTP === uri_or_path
|
||||
hostname = uri_or_path.hostname
|
||||
hostname = uri_or_path.host
|
||||
raise ArgumentError, "no host component for Gem::URI" unless (hostname && hostname.length > 0)
|
||||
@uri = uri_or_path.dup
|
||||
host = @uri.hostname.dup
|
||||
host << ":" << @uri.port.to_s if @uri.port != @uri.default_port
|
||||
@path = uri_or_path.request_uri
|
||||
raise ArgumentError, "no HTTP request path given" unless @path
|
||||
else
|
||||
@uri = nil
|
||||
host = nil
|
||||
raise ArgumentError, "no HTTP request path given" unless uri_or_path
|
||||
raise ArgumentError, "HTTP request path is empty" if uri_or_path.empty?
|
||||
@path = uri_or_path.dup
|
||||
@ -51,7 +48,7 @@ class Gem::Net::HTTPGenericRequest
|
||||
initialize_http_header initheader
|
||||
self['Accept'] ||= '*/*'
|
||||
self['User-Agent'] ||= 'Ruby'
|
||||
self['Host'] ||= host if host
|
||||
self['Host'] ||= @uri.authority if @uri
|
||||
@body = nil
|
||||
@body_stream = nil
|
||||
@body_data = nil
|
||||
@ -245,7 +242,7 @@ class Gem::Net::HTTPGenericRequest
|
||||
end
|
||||
|
||||
if host = self['host']
|
||||
host.sub!(/:.*/m, '')
|
||||
host = Gem::URI.parse("//#{host}").host # Remove a port component from the existing Host header
|
||||
elsif host = @uri.host
|
||||
else
|
||||
host = addr
|
||||
@ -264,6 +261,8 @@ class Gem::Net::HTTPGenericRequest
|
||||
|
||||
private
|
||||
|
||||
# :stopdoc:
|
||||
|
||||
class Chunker #:nodoc:
|
||||
def initialize(sock)
|
||||
@sock = sock
|
||||
|
||||
@ -179,7 +179,9 @@
|
||||
# - #each_value: Passes each string field value to the block.
|
||||
#
|
||||
module Gem::Net::HTTPHeader
|
||||
# The maximum length of HTTP header keys.
|
||||
MAX_KEY_LENGTH = 1024
|
||||
# The maximum length of HTTP header values.
|
||||
MAX_FIELD_LENGTH = 65536
|
||||
|
||||
def initialize_http_header(initheader) #:nodoc:
|
||||
@ -267,6 +269,7 @@ module Gem::Net::HTTPHeader
|
||||
end
|
||||
end
|
||||
|
||||
# :stopdoc:
|
||||
private def set_field(key, val)
|
||||
case val
|
||||
when Enumerable
|
||||
@ -294,6 +297,7 @@ module Gem::Net::HTTPHeader
|
||||
ary.push val
|
||||
end
|
||||
end
|
||||
# :startdoc:
|
||||
|
||||
# Returns the array field value for the given +key+,
|
||||
# or +nil+ if there is no such field;
|
||||
@ -490,7 +494,7 @@ module Gem::Net::HTTPHeader
|
||||
|
||||
alias canonical_each each_capitalized
|
||||
|
||||
def capitalize(name)
|
||||
def capitalize(name) # :nodoc:
|
||||
name.to_s.split('-'.freeze).map {|s| s.capitalize }.join('-'.freeze)
|
||||
end
|
||||
private :capitalize
|
||||
@ -957,12 +961,12 @@ module Gem::Net::HTTPHeader
|
||||
@header['proxy-authorization'] = [basic_encode(account, password)]
|
||||
end
|
||||
|
||||
def basic_encode(account, password)
|
||||
def basic_encode(account, password) # :nodoc:
|
||||
'Basic ' + ["#{account}:#{password}"].pack('m0')
|
||||
end
|
||||
private :basic_encode
|
||||
|
||||
# Returns whether the HTTP session is to be closed.
|
||||
# Returns whether the HTTP session is to be closed.
|
||||
def connection_close?
|
||||
token = /(?:\A|,)\s*close\s*(?:\z|,)/i
|
||||
@header['connection']&.grep(token) {return true}
|
||||
@ -970,7 +974,7 @@ module Gem::Net::HTTPHeader
|
||||
false
|
||||
end
|
||||
|
||||
# Returns whether the HTTP session is to be kept alive.
|
||||
# Returns whether the HTTP session is to be kept alive.
|
||||
def connection_keep_alive?
|
||||
token = /(?:\A|,)\s*keep-alive\s*(?:\z|,)/i
|
||||
@header['connection']&.grep(token) {return true}
|
||||
|
||||
@ -29,6 +29,7 @@
|
||||
# - Gem::Net::HTTP#get: sends +GET+ request, returns response object.
|
||||
#
|
||||
class Gem::Net::HTTP::Get < Gem::Net::HTTPRequest
|
||||
# :stopdoc:
|
||||
METHOD = 'GET'
|
||||
REQUEST_HAS_BODY = false
|
||||
RESPONSE_HAS_BODY = true
|
||||
@ -60,6 +61,7 @@ end
|
||||
# - Gem::Net::HTTP#head: sends +HEAD+ request, returns response object.
|
||||
#
|
||||
class Gem::Net::HTTP::Head < Gem::Net::HTTPRequest
|
||||
# :stopdoc:
|
||||
METHOD = 'HEAD'
|
||||
REQUEST_HAS_BODY = false
|
||||
RESPONSE_HAS_BODY = false
|
||||
@ -95,6 +97,7 @@ end
|
||||
# - Gem::Net::HTTP#post: sends +POST+ request, returns response object.
|
||||
#
|
||||
class Gem::Net::HTTP::Post < Gem::Net::HTTPRequest
|
||||
# :stopdoc:
|
||||
METHOD = 'POST'
|
||||
REQUEST_HAS_BODY = true
|
||||
RESPONSE_HAS_BODY = true
|
||||
@ -130,6 +133,7 @@ end
|
||||
# - Gem::Net::HTTP#put: sends +PUT+ request, returns response object.
|
||||
#
|
||||
class Gem::Net::HTTP::Put < Gem::Net::HTTPRequest
|
||||
# :stopdoc:
|
||||
METHOD = 'PUT'
|
||||
REQUEST_HAS_BODY = true
|
||||
RESPONSE_HAS_BODY = true
|
||||
@ -162,6 +166,7 @@ end
|
||||
# - Gem::Net::HTTP#delete: sends +DELETE+ request, returns response object.
|
||||
#
|
||||
class Gem::Net::HTTP::Delete < Gem::Net::HTTPRequest
|
||||
# :stopdoc:
|
||||
METHOD = 'DELETE'
|
||||
REQUEST_HAS_BODY = false
|
||||
RESPONSE_HAS_BODY = true
|
||||
@ -193,6 +198,7 @@ end
|
||||
# - Gem::Net::HTTP#options: sends +OPTIONS+ request, returns response object.
|
||||
#
|
||||
class Gem::Net::HTTP::Options < Gem::Net::HTTPRequest
|
||||
# :stopdoc:
|
||||
METHOD = 'OPTIONS'
|
||||
REQUEST_HAS_BODY = false
|
||||
RESPONSE_HAS_BODY = true
|
||||
@ -224,6 +230,7 @@ end
|
||||
# - Gem::Net::HTTP#trace: sends +TRACE+ request, returns response object.
|
||||
#
|
||||
class Gem::Net::HTTP::Trace < Gem::Net::HTTPRequest
|
||||
# :stopdoc:
|
||||
METHOD = 'TRACE'
|
||||
REQUEST_HAS_BODY = false
|
||||
RESPONSE_HAS_BODY = true
|
||||
@ -258,6 +265,7 @@ end
|
||||
# - Gem::Net::HTTP#patch: sends +PATCH+ request, returns response object.
|
||||
#
|
||||
class Gem::Net::HTTP::Patch < Gem::Net::HTTPRequest
|
||||
# :stopdoc:
|
||||
METHOD = 'PATCH'
|
||||
REQUEST_HAS_BODY = true
|
||||
RESPONSE_HAS_BODY = true
|
||||
@ -285,6 +293,7 @@ end
|
||||
# - Gem::Net::HTTP#propfind: sends +PROPFIND+ request, returns response object.
|
||||
#
|
||||
class Gem::Net::HTTP::Propfind < Gem::Net::HTTPRequest
|
||||
# :stopdoc:
|
||||
METHOD = 'PROPFIND'
|
||||
REQUEST_HAS_BODY = true
|
||||
RESPONSE_HAS_BODY = true
|
||||
@ -308,6 +317,7 @@ end
|
||||
# - Gem::Net::HTTP#proppatch: sends +PROPPATCH+ request, returns response object.
|
||||
#
|
||||
class Gem::Net::HTTP::Proppatch < Gem::Net::HTTPRequest
|
||||
# :stopdoc:
|
||||
METHOD = 'PROPPATCH'
|
||||
REQUEST_HAS_BODY = true
|
||||
RESPONSE_HAS_BODY = true
|
||||
@ -331,6 +341,7 @@ end
|
||||
# - Gem::Net::HTTP#mkcol: sends +MKCOL+ request, returns response object.
|
||||
#
|
||||
class Gem::Net::HTTP::Mkcol < Gem::Net::HTTPRequest
|
||||
# :stopdoc:
|
||||
METHOD = 'MKCOL'
|
||||
REQUEST_HAS_BODY = true
|
||||
RESPONSE_HAS_BODY = true
|
||||
@ -354,6 +365,7 @@ end
|
||||
# - Gem::Net::HTTP#copy: sends +COPY+ request, returns response object.
|
||||
#
|
||||
class Gem::Net::HTTP::Copy < Gem::Net::HTTPRequest
|
||||
# :stopdoc:
|
||||
METHOD = 'COPY'
|
||||
REQUEST_HAS_BODY = false
|
||||
RESPONSE_HAS_BODY = true
|
||||
@ -377,6 +389,7 @@ end
|
||||
# - Gem::Net::HTTP#move: sends +MOVE+ request, returns response object.
|
||||
#
|
||||
class Gem::Net::HTTP::Move < Gem::Net::HTTPRequest
|
||||
# :stopdoc:
|
||||
METHOD = 'MOVE'
|
||||
REQUEST_HAS_BODY = false
|
||||
RESPONSE_HAS_BODY = true
|
||||
@ -400,6 +413,7 @@ end
|
||||
# - Gem::Net::HTTP#lock: sends +LOCK+ request, returns response object.
|
||||
#
|
||||
class Gem::Net::HTTP::Lock < Gem::Net::HTTPRequest
|
||||
# :stopdoc:
|
||||
METHOD = 'LOCK'
|
||||
REQUEST_HAS_BODY = true
|
||||
RESPONSE_HAS_BODY = true
|
||||
@ -423,8 +437,8 @@ end
|
||||
# - Gem::Net::HTTP#unlock: sends +UNLOCK+ request, returns response object.
|
||||
#
|
||||
class Gem::Net::HTTP::Unlock < Gem::Net::HTTPRequest
|
||||
# :stopdoc:
|
||||
METHOD = 'UNLOCK'
|
||||
REQUEST_HAS_BODY = true
|
||||
RESPONSE_HAS_BODY = true
|
||||
end
|
||||
|
||||
|
||||
@ -153,6 +153,7 @@ class Gem::Net::HTTPResponse
|
||||
end
|
||||
|
||||
private
|
||||
# :stopdoc:
|
||||
|
||||
def read_status_line(sock)
|
||||
str = sock.readline
|
||||
@ -259,7 +260,7 @@ class Gem::Net::HTTPResponse
|
||||
# header.
|
||||
attr_accessor :ignore_eof
|
||||
|
||||
def inspect
|
||||
def inspect # :nodoc:
|
||||
"#<#{self.class} #{@code} #{@message} readbody=#{@read}>"
|
||||
end
|
||||
|
||||
|
||||
@ -4,7 +4,9 @@
|
||||
|
||||
module Gem::Net
|
||||
|
||||
# Unknown HTTP response
|
||||
class HTTPUnknownResponse < HTTPResponse
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
EXCEPTION_TYPE = HTTPError #
|
||||
end
|
||||
@ -19,6 +21,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#1xx_informational_response].
|
||||
#
|
||||
class HTTPInformation < HTTPResponse
|
||||
# :stopdoc:
|
||||
HAS_BODY = false
|
||||
EXCEPTION_TYPE = HTTPError #
|
||||
end
|
||||
@ -34,6 +37,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#2xx_success].
|
||||
#
|
||||
class HTTPSuccess < HTTPResponse
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
EXCEPTION_TYPE = HTTPError #
|
||||
end
|
||||
@ -49,6 +53,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_redirection].
|
||||
#
|
||||
class HTTPRedirection < HTTPResponse
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
EXCEPTION_TYPE = HTTPRetriableError #
|
||||
end
|
||||
@ -63,6 +68,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_client_errors].
|
||||
#
|
||||
class HTTPClientError < HTTPResponse
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
EXCEPTION_TYPE = HTTPClientException #
|
||||
end
|
||||
@ -77,6 +83,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#5xx_server_errors].
|
||||
#
|
||||
class HTTPServerError < HTTPResponse
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
EXCEPTION_TYPE = HTTPFatalError #
|
||||
end
|
||||
@ -94,6 +101,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#100].
|
||||
#
|
||||
class HTTPContinue < HTTPInformation
|
||||
# :stopdoc:
|
||||
HAS_BODY = false
|
||||
end
|
||||
|
||||
@ -111,6 +119,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#101].
|
||||
#
|
||||
class HTTPSwitchProtocol < HTTPInformation
|
||||
# :stopdoc:
|
||||
HAS_BODY = false
|
||||
end
|
||||
|
||||
@ -127,6 +136,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#102].
|
||||
#
|
||||
class HTTPProcessing < HTTPInformation
|
||||
# :stopdoc:
|
||||
HAS_BODY = false
|
||||
end
|
||||
|
||||
@ -145,6 +155,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#103].
|
||||
#
|
||||
class HTTPEarlyHints < HTTPInformation
|
||||
# :stopdoc:
|
||||
HAS_BODY = false
|
||||
end
|
||||
|
||||
@ -162,6 +173,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#200].
|
||||
#
|
||||
class HTTPOK < HTTPSuccess
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -179,6 +191,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#201].
|
||||
#
|
||||
class HTTPCreated < HTTPSuccess
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -196,6 +209,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#202].
|
||||
#
|
||||
class HTTPAccepted < HTTPSuccess
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -215,6 +229,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#203].
|
||||
#
|
||||
class HTTPNonAuthoritativeInformation < HTTPSuccess
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -232,6 +247,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#204].
|
||||
#
|
||||
class HTTPNoContent < HTTPSuccess
|
||||
# :stopdoc:
|
||||
HAS_BODY = false
|
||||
end
|
||||
|
||||
@ -250,6 +266,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#205].
|
||||
#
|
||||
class HTTPResetContent < HTTPSuccess
|
||||
# :stopdoc:
|
||||
HAS_BODY = false
|
||||
end
|
||||
|
||||
@ -268,6 +285,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#206].
|
||||
#
|
||||
class HTTPPartialContent < HTTPSuccess
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -285,6 +303,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#207].
|
||||
#
|
||||
class HTTPMultiStatus < HTTPSuccess
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -304,6 +323,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#208].
|
||||
#
|
||||
class HTTPAlreadyReported < HTTPSuccess
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -321,6 +341,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#226].
|
||||
#
|
||||
class HTTPIMUsed < HTTPSuccess
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -338,6 +359,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#300].
|
||||
#
|
||||
class HTTPMultipleChoices < HTTPRedirection
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
HTTPMultipleChoice = HTTPMultipleChoices
|
||||
@ -356,6 +378,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#301].
|
||||
#
|
||||
class HTTPMovedPermanently < HTTPRedirection
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -373,6 +396,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#302].
|
||||
#
|
||||
class HTTPFound < HTTPRedirection
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
HTTPMovedTemporarily = HTTPFound
|
||||
@ -390,6 +414,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#303].
|
||||
#
|
||||
class HTTPSeeOther < HTTPRedirection
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -407,6 +432,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#304].
|
||||
#
|
||||
class HTTPNotModified < HTTPRedirection
|
||||
# :stopdoc:
|
||||
HAS_BODY = false
|
||||
end
|
||||
|
||||
@ -423,6 +449,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#305].
|
||||
#
|
||||
class HTTPUseProxy < HTTPRedirection
|
||||
# :stopdoc:
|
||||
HAS_BODY = false
|
||||
end
|
||||
|
||||
@ -440,6 +467,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#307].
|
||||
#
|
||||
class HTTPTemporaryRedirect < HTTPRedirection
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -456,6 +484,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#308].
|
||||
#
|
||||
class HTTPPermanentRedirect < HTTPRedirection
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -472,6 +501,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#400].
|
||||
#
|
||||
class HTTPBadRequest < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -488,6 +518,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#401].
|
||||
#
|
||||
class HTTPUnauthorized < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -504,6 +535,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#402].
|
||||
#
|
||||
class HTTPPaymentRequired < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -521,6 +553,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#403].
|
||||
#
|
||||
class HTTPForbidden < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -537,6 +570,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#404].
|
||||
#
|
||||
class HTTPNotFound < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -553,6 +587,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#405].
|
||||
#
|
||||
class HTTPMethodNotAllowed < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -570,6 +605,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#406].
|
||||
#
|
||||
class HTTPNotAcceptable < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -586,6 +622,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#407].
|
||||
#
|
||||
class HTTPProxyAuthenticationRequired < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -602,6 +639,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#408].
|
||||
#
|
||||
class HTTPRequestTimeout < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
HTTPRequestTimeOut = HTTPRequestTimeout
|
||||
@ -619,6 +657,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#409].
|
||||
#
|
||||
class HTTPConflict < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -636,6 +675,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#410].
|
||||
#
|
||||
class HTTPGone < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -653,6 +693,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#411].
|
||||
#
|
||||
class HTTPLengthRequired < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -670,6 +711,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#412].
|
||||
#
|
||||
class HTTPPreconditionFailed < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -686,6 +728,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#413].
|
||||
#
|
||||
class HTTPPayloadTooLarge < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
HTTPRequestEntityTooLarge = HTTPPayloadTooLarge
|
||||
@ -703,6 +746,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#414].
|
||||
#
|
||||
class HTTPURITooLong < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
HTTPRequestURITooLong = HTTPURITooLong
|
||||
@ -721,6 +765,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#415].
|
||||
#
|
||||
class HTTPUnsupportedMediaType < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -737,6 +782,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#416].
|
||||
#
|
||||
class HTTPRangeNotSatisfiable < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
HTTPRequestedRangeNotSatisfiable = HTTPRangeNotSatisfiable
|
||||
@ -754,6 +800,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#417].
|
||||
#
|
||||
class HTTPExpectationFailed < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -774,6 +821,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#421].
|
||||
#
|
||||
class HTTPMisdirectedRequest < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -790,6 +838,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#422].
|
||||
#
|
||||
class HTTPUnprocessableEntity < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -805,6 +854,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#423].
|
||||
#
|
||||
class HTTPLocked < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -821,6 +871,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#424].
|
||||
#
|
||||
class HTTPFailedDependency < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -840,6 +891,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#426].
|
||||
#
|
||||
class HTTPUpgradeRequired < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -856,6 +908,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#428].
|
||||
#
|
||||
class HTTPPreconditionRequired < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -872,6 +925,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#429].
|
||||
#
|
||||
class HTTPTooManyRequests < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -889,6 +943,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#431].
|
||||
#
|
||||
class HTTPRequestHeaderFieldsTooLarge < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -906,6 +961,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#451].
|
||||
#
|
||||
class HTTPUnavailableForLegalReasons < HTTPClientError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
# 444 No Response - Nginx
|
||||
@ -926,6 +982,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#500].
|
||||
#
|
||||
class HTTPInternalServerError < HTTPServerError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -943,6 +1000,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#501].
|
||||
#
|
||||
class HTTPNotImplemented < HTTPServerError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -960,6 +1018,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#502].
|
||||
#
|
||||
class HTTPBadGateway < HTTPServerError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -977,6 +1036,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#503].
|
||||
#
|
||||
class HTTPServiceUnavailable < HTTPServerError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -994,6 +1054,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#504].
|
||||
#
|
||||
class HTTPGatewayTimeout < HTTPServerError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
HTTPGatewayTimeOut = HTTPGatewayTimeout
|
||||
@ -1011,6 +1072,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#505].
|
||||
#
|
||||
class HTTPVersionNotSupported < HTTPServerError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -1027,6 +1089,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#506].
|
||||
#
|
||||
class HTTPVariantAlsoNegotiates < HTTPServerError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -1043,6 +1106,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#507].
|
||||
#
|
||||
class HTTPInsufficientStorage < HTTPServerError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -1059,6 +1123,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#508].
|
||||
#
|
||||
class HTTPLoopDetected < HTTPServerError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
# 509 Bandwidth Limit Exceeded - Apache bw/limited extension
|
||||
@ -1076,6 +1141,7 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#510].
|
||||
#
|
||||
class HTTPNotExtended < HTTPServerError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
@ -1092,12 +1158,14 @@ module Gem::Net
|
||||
# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#511].
|
||||
#
|
||||
class HTTPNetworkAuthenticationRequired < HTTPServerError
|
||||
# :stopdoc:
|
||||
HAS_BODY = true
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
class Gem::Net::HTTPResponse
|
||||
# :stopdoc:
|
||||
CODE_CLASS_TO_OBJ = {
|
||||
'1' => Gem::Net::HTTPInformation,
|
||||
'2' => Gem::Net::HTTPSuccess,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user