Class AWS::Core::Http::Request
In: lib/aws/core/http/request.rb
Parent: Object

Base class for all service reqeusts. This class describes a basic HTTP request, but will not make one. It is consumed by a HTTP handler class that sends the actual request and parses the actual response.

Methods

Classes and Modules

Class AWS::Core::Http::Request::CaseInsensitiveHash
Class AWS::Core::Http::Request::Param

External Aliases

read_timeout -> default_read_timeout
use_ssl -> use_ssl?

Attributes

access_key_id  [RW]  @return [String] Returns the AWS access key ID used to authorize the
  request.

@api private

continue_timeout  [RW]  @return [Float] timeout The number of seconds to wait for a
  100-continue response before sending the HTTP request body.

@api private

headers  [RW]  @return [CaseInsensitiveHash] request headers
host  [RW]  @return [String] hostname of the request
http_method  [RW]  @return [String] Returns the HTTP request method (e.g. ‘GET’, ‘PUT’,
  'POST', 'HEAD' or 'DELETE').  Defaults to 'POST'.
params  [RW]  @return [Array<Param>] Returns an array of request params. Requests
  that use signature version 2 add params to the request and then
  sign those before building the {#body}.  Normally the {#body}
  should be set directly with the HTTP payload.

@api private

port  [RW]  @return [Integer] Returns the port number this request will be
  made via (usually 443 or 80).
read_timeout  [RW]  @return [Integer] The number of seconds the service has to respond
  before a timeout error is raised on the request.
region  [RW]  @return [String] The region name this request is for. Only needs
  to be populated for requests against signature v4 endpoints.
service_ruby_name  [RW]  @return [String] The name of the service for Signature v4 signing.
  This does not always match the ruby name (e.g.
  simple_email_service and ses do not match).
uri  [RW]  @return [String] Returns the request URI (path + querystring).
use_ssl  [RW]  @return [Boolean] Returns `true` if this request should be made
  with SSL enabled.

Public Class methods

Returns a new empty http request object.

Public Instance methods

Adds a request param.

@overload add_param(param_name, param_value = nil)

  Add a param (name/value)
  @param [String] param_name
  @param [String] param_value Leave blank for sub resources

@overload add_param(param_obj)

  Add a param (object)
  @param [Param] param_obj

@api private

@note Calling body on a request with a body_stream

  will cause the entire stream to be read into memory.

@return [String,nil] Returns the request body.

@param [String] body

@return [IO,nil]

Sets the request body as an IO object that will be streamed. @note You must also set the headers[‘content-length’] @param [IO] stream An object that responds to read and eof.

@return [String] Returns the HTTP request path.

@return [Integer] Returns the port the request will be made over.

  Defaults to 443 for SSL requests and 80 for non-SSL requests.

@return [String] Returns the HTTP request querystring.

@api private @return [String,nil] Returns the url encoded request params. If there

  are no params, then nil is returned.

[Validate]