In Files

  • net/http.rb

Net::HTTPResponse

Attributes

code[R]

The HTTP result code string. For example, '302'. You can also determine the response type by examining which response subclass the response object is an instance of.

http_version[R]

The HTTP version supported by the server.

message[R]

The HTTP result message sent by the server. For example, 'Not Found'.

msg[R]

The HTTP result message sent by the server. For example, 'Not Found'.

Public Class Methods

body_permitted?() click to toggle source

true if the response has a body.

 
               # File net/http.rb, line 2327
def HTTPResponse.body_permitted?
  self::HAS_BODY
end
            

Public Instance Methods

body() click to toggle source

Returns the full entity body.

Calling this method a second or subsequent time will return the string already read.

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 2735
def body
  read_body()
end
            
Also aliased as: entity
body=(value) click to toggle source

Because it may be necessary to modify the body, Eg, decompression this method facilitates that.

 
               # File net/http.rb, line 2741
def body=(value)
  @body = value
end
            
entity() click to toggle source
Alias for: body
inspect() click to toggle source
 
               # File net/http.rb, line 2620
def inspect
  "#<#{self.class} #{@code} #{@message} readbody=#{@read}>"
end
            
read_body(dest = nil, &block) click to toggle source

Gets the entity body returned by the remote HTTP server.

If a block is given, the body is passed to the block, and the body is provided in fragments, as it is read in from the socket.

Calling this method a second or subsequent time for the same HTTPResponse object will return the value already read.

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 2703
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
            
value() click to toggle source

Raises an HTTP error if the response is not 2xx (success).

 
               # File net/http.rb, line 2641
def value
  error! unless self.kind_of?(HTTPSuccess)
end