Class | ::Utils::HttpUtil |
In: |
lib/rbot/core/utils/httputil.rb
|
Parent: | Object |
class for making http requests easier (mainly for plugins to use) this class can check the bot proxy configuration to determine if a proxy needs to be used, which includes support for per-url proxy configuration.
uri: | uri to query (URI object or String) |
Simple GET request, returns (if possible) response body following redirs and caching if requested, yielding the actual response(s) to the optional block. See get_response for details on the supported options
uri: | uri to query (URI object or String) |
nbytes: | number of bytes to get |
Partial GET request, returns (if possible) the first nbytes bytes of the response body, following redirs and caching if requested, yielding the actual response(s) to the optional block. See get_response for details on the supported options
uri: | URI to create a proxy for |
Return a net/http Proxy object, configured for proxying based on the bot‘s proxy configuration. See proxy_required for more details on this.
uri: | uri to query (URI object or String) |
Generic http transaction method. It will return a Net::HTTPResponse object or raise an exception
If a block is given, it will yield the response (see :yield option)
Currently supported options:
method: | request method [:get (default), :post or :head] |
open_timeout: | open timeout for the proxy |
read_timeout: | read timeout for the proxy |
cache: | should we cache results? |
yield: | if :final [default], calls the block for the response object; if :all, call the block for all intermediate redirects, too |
max_redir: | how many redirects to follow before raising the exception if -1, don‘t follow redirects, just return them |
range: | make a ranged request (usually GET). accepts a string for HTTP/1.1 "Range:" header (i.e. "bytes=0-1000") |
body: | request body (usually for POST requests) |
headers: | additional headers to be set for the request. Its value must be a Hash in the form { ‘Header’ => ‘value’ } |
Internal method used to hanlde response resp received when making a request for URI uri.
It follows redirects, optionally yielding them if option :yield is :all.
Also yields and returns the final resp.
uri: | uri to query (URI object or String) |
Simple HEAD request, returns (if possible) response head following redirs and caching if requested, yielding the actual response(s) to the optional block. See get_response for details on the supported options
uri: | uri to query (URI object or String) |
data: | body of the POST |
Simple POST request, returns (if possible) response following redirs and caching if requested, yielding the response(s) to the optional block. See get_response for details on the supported options
This method checks if a proxy is required to access uri, by looking at the values of config values +http.proxy_include+ and +http.proxy_exclude+.
Each of these config values, if set, should be a Regexp the server name and IP address should be checked against.