class Net::HTTPGenericRequest
HTTPGenericRequest
is the parent of the Net::HTTPRequest
class. Do not use this directly; use a subclass of Net::HTTPRequest
.
Mixes in the Net::HTTPHeader
module to provide easier access to HTTP headers.
Attributes
body[R]
body_stream[R]
decode_content[R]
Automatically set to false if the user sets the Accept-Encoding header. This indicates they wish to handle Content-encoding in responses themselves.
method[R]
path[R]
uri[R]
Public Class Methods
new(m, reqbody, resbody, uri_or_path, initheader = nil)
click to toggle source
# File net/http/generic_request.rb, line 11 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 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 end @decode_content = false if @response_has_body and Net::HTTP::HAVE_ZLIB then if !initheader || !initheader.keys.any? { |k| %w[accept-encoding range].include? k.downcase } then @decode_content = true 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
Public Instance Methods
body=(str)
click to toggle source
# File net/http/generic_request.rb, line 93 def body=(str) @body = str @body_stream = nil @body_data = nil str end
body_exist?()
click to toggle source
# File net/http/generic_request.rb, line 86 def body_exist? warn "Net::HTTPRequest#body_exist? is obsolete; use response_body_permitted?", uplevel: 1 if $VERBOSE response_body_permitted? end
body_stream=(input)
click to toggle source
# File net/http/generic_request.rb, line 102 def body_stream=(input) @body = nil @body_stream = input @body_data = nil input end
inspect()
click to toggle source
# File net/http/generic_request.rb, line 64 def inspect "\#<#{self.class} #{@method}>" end
request_body_permitted?()
click to toggle source
# File net/http/generic_request.rb, line 78 def request_body_permitted? @request_has_body end
response_body_permitted?()
click to toggle source
# File net/http/generic_request.rb, line 82 def response_body_permitted? @response_has_body end