Object
![show/hide quicksearch [+]](../images/find.png)
HTTP response class. This class wraps response header and entity. Mixes in the HTTPHeader module, which provides access to response header values both via hash-like methods and individual readers. Note that each possible HTTP response code defines its own HTTPResponse subclass. These are listed below. All classes are defined under the Net module. Indentation indicates inheritance.
xxx        HTTPResponse
  1xx        HTTPInformation
    100        HTTPContinue    
    101        HTTPSwitchProtocol
  2xx        HTTPSuccess
    200        HTTPOK
    201        HTTPCreated
    202        HTTPAccepted
    203        HTTPNonAuthoritativeInformation
    204        HTTPNoContent
    205        HTTPResetContent
    206        HTTPPartialContent
  3xx        HTTPRedirection
    300        HTTPMultipleChoice
    301        HTTPMovedPermanently
    302        HTTPFound
    303        HTTPSeeOther
    304        HTTPNotModified
    305        HTTPUseProxy
    307        HTTPTemporaryRedirect
  4xx        HTTPClientError
    400        HTTPBadRequest
    401        HTTPUnauthorized
    402        HTTPPaymentRequired
    403        HTTPForbidden
    404        HTTPNotFound
    405        HTTPMethodNotAllowed
    406        HTTPNotAcceptable
    407        HTTPProxyAuthenticationRequired
    408        HTTPRequestTimeOut
    409        HTTPConflict
    410        HTTPGone
    411        HTTPLengthRequired
    412        HTTPPreconditionFailed
    413        HTTPRequestEntityTooLarge
    414        HTTPRequestURITooLong
    415        HTTPUnsupportedMediaType
    416        HTTPRequestedRangeNotSatisfiable
    417        HTTPExpectationFailed
  5xx        HTTPServerError
    500        HTTPInternalServerError
    501        HTTPNotImplemented
    502        HTTPBadGateway
    503        HTTPServiceUnavailable
    504        HTTPGatewayTimeOut
    505        HTTPVersionNotSupported
  xxx        HTTPUnknownResponse
    Returns the entity body.
Calling this method a second or subsequent time will return the already read string.
http.request_get('/index.html') {|res| puts res.body } http.request_get('/index.html') {|res| p res.body.object_id # 538149362 p res.body.object_id # 538149362 }
 
               # File net/http.rb, line 2320
def body
  read_body()
end
             
            Because it may be necessary to modify the body, Eg, decompression this method facilitates that.
 
               # File net/http.rb, line 2326
def body=(value)
  @body = value
end
             
             
               # File net/http.rb, line 2193
def inspect
  "#<#{self.class} #{@code} #{@message} readbody=#{@read}>"
end
             
            Gets entity body.  If the block given, yields it to block. The
body is provided in fragments, as it is read in from the socket.
Calling this method a second or subsequent time will return the already read string.
http.request_get('/index.html') {|res| puts res.read_body } http.request_get('/index.html') {|res| p res.read_body.object_id # 538149362 p res.read_body.object_id # 538149362 } # using iterator http.request_get('/index.html') {|res| res.read_body do |segment| print segment end }
 
               # File net/http.rb, line 2288
def read_body(dest = nil, &block)
  if @read
    raise IOError, "#{self.class}\#read_body called twice" if dest or block
    return @body
  end
  to = procdest(dest, block)
  stream_check
  if @body_exist
    read_body_0 to
    @body = to
  else
    @body = nil
  end
  @read = true
  @body
end
             
            For backward compatibility. To allow Net::HTTP 1.1 style assignment e.g.
response, body = Net::HTTP.get(....)
 
               # File net/http.rb, line 2202
def to_ary
  warn "net/http.rb: warning: Net::HTTP v1.1 style assignment found at #{caller(1)[0]}; use `response = http.get(...)' instead." if $VERBOSE
  res = self.dup
  class << res
    undef to_ary
  end
  [res, res.body]
end