lib/httpclient.rb
# Sends a request to the specified URL.
#
# method:: HTTP method to be sent.  method.to_s.upcase is used.
# uri:: a String or an URI object which represents an URL of web resource.
# query:: a Hash or an Array of query part of URL.
#         e.g. { "a" => "b" } => 'http://host/part?a=b'
#         Give an array to pass multiple value like
#         [["a", "b"], ["a", "c"]] => 'http://host/part?a=b&a=c'
# body:: a Hash or an Array of body part. e.g.
#          { "a" => "b" }
#          => 'a=b'
#        Give an array to pass multiple value like
#          [["a", "b"], ["a", "c"]]
#          => 'a=b&a=c'.
#        When the given method is 'POST' and the given body contains a file
#        as a value, it will be posted as a multipart/form-data. e.g.
#          { 'upload' => file }
#        You can also send custom multipart by passing an array of hashes.
#        Each part must have a :content attribute which can be a file, all
#        other keys will become headers.
#          [{ 'Content-Type' => 'text/plain', :content => "some text" },
#           { 'Content-Type' => 'video/mp4', :content => File.new('video.mp4') }]
#          => <Two parts with custom Content-Type header>
#        See HTTP::Message.file? for actual condition of 'a file'.
# header:: a Hash or an Array of extra headers.  e.g.
#          { 'Accept' => 'text/html' } or
#          [['Accept', 'image/jpeg'], ['Accept', 'image/png']].
# &block:: Give a block to get chunked message-body of response like
#          get(uri) { |chunked_body| ... }.
#          Size of each chunk may not be the same.
#
# You can also pass a String as a body.  HTTPClient just sends a String as
# a HTTP request message body.
#
# When you pass an IO as a body, HTTPClient sends it as a HTTP request with
# chunked encoding (Transfer-Encoding: chunked in HTTP header) if IO does not
# respond to :size. Bear in mind that some server application does not support
# chunked request.  At least cgi.rb does not support it.
Sends a request to the specified URL.
method:: HTTP method to be sent.

You can also pass a String as a body.  HTTPClient just sends a String as
a HTTP request message body.

When you pass an IO as a body, HTTPClient sends it as a HTTP request with
chunked encoding (Transfer-Encoding: chunked in HTTP header) if IO does not
respond to :size. Bear in mind that some server application does not support
chunked request.  At least cgi.rb does not support it.
Sends a request to the specified URL . method :: HTTP method to be sent . You can also pass a String as a body . HTTPClient just sends a String as a HTTP request message body . When you pass an IO as a body HTTPClient sends it as a HTTP request with chunked encoding ( Transfer - Encoding : chunked in HTTP header ) if IO does not respond to : size . Bear in mind that some server application does not support chunked request . At least cgi . rb does not support it .
def request(method, uri, *args, &block)
    query, body, header, follow_redirect = keyword_argument(args, :query, :body, :header, :follow_redirect)
    if method == :propfind
      header ||= PROPFIND_DEFAULT_EXTHEADER
    else
      header ||= {}
    end
    uri = to_resource_url(uri)
    if block
      filtered_block = adapt_block(&block)
    end
    if follow_redirect
      follow_redirect(method, uri, query, body, header, &block)
    else
      do_request(method, uri, query, body, header, &filtered_block)
    end
  end
def request ( method , uri , * args , & block ) query , body , header , follow_redirect = keyword_argument ( args , :query , :body , :header , :follow_redirect ) if method == :propfind header ||= PROPFIND_DEFAULT_EXTHEADER else header ||= { } end uri = to_resource_url ( uri ) if block filtered_block = adapt_block ( & block ) end if follow_redirect follow_redirect ( method , uri , query , body , header , & block ) else do_request ( method , uri , query , body , header , & filtered_block ) end end
Sends a request to the specified URL.
Sends a request to the specified URL .
method
<not_specific>
uri
<not_specific>
args
<not_specific>
block
<not_specific>