class Net::HTTPGenericRequest
PATCH: Net::HTTPGenericRequest
to allow empty path, so it can be used as ‘webservice’ request in ‘send_webservice_request’ ORIGINAL FROM: Ruby 3.1.0, ‘lib/net/http/generic_request.rb’
Public Class Methods
new(m, reqbody, resbody, uri_or_path, initheader = nil)
click to toggle source
# File lax/__internal__/patches/patch-net-http.rb, line 32 def initialize(m, reqbody, resbody, uri_or_path, initheader = nil) @method = m @request_has_body = reqbody @response_has_body = resbody if URI === uri_or_path then raise ArgumentError, "not an HTTP URI" unless URI::HTTP === uri_or_path raise ArgumentError, "no host component for URI" unless uri_or_path.hostname @uri = uri_or_path.dup host = @uri.hostname.dup host << ":".freeze << @uri.port.to_s if @uri.port != @uri.default_port @path = uri_or_path.request_uri ### PATCHED: COMMENTED ### raise ArgumentError, "no HTTP request path given" unless @path else @uri = nil host = nil ### PATCHED: COMMENTED ### raise ArgumentError, "no HTTP request path given" unless uri_or_path ### PATCHED: COMMENTED ### raise ArgumentError, "HTTP request path is empty" if uri_or_path.empty? ### PATCHED: COMMENTED ### @path = uri_or_path.dup ### PATCHED: ADDED ### @path = uri_or_path.dup if uri_or_path end @decode_content = false if Net::HTTP::HAVE_ZLIB then if !initheader || !initheader.keys.any? { |k| %w[accept-encoding range].include? k.downcase } then @decode_content = true if @response_has_body initheader = initheader ? initheader.dup : {} initheader["accept-encoding"] = "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" end end initialize_http_header initheader self['Accept'] ||= '*/*' self['User-Agent'] ||= 'Ruby' self['Host'] ||= host if host @body = nil @body_stream = nil @body_data = nil end