Class: AWS::Core::Http::Request
- Inherits:
-
Object
- Object
- AWS::Core::Http::Request
- Defined in:
- lib/aws/core/http/request.rb
Overview
Base class for all service reqeusts.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#access_key_id ⇒ String
The AWS access key ID used to authorize the request.
-
#headers ⇒ CaseInsensitiveHash
readonly
Request headers.
-
#host ⇒ String
Hostname of the request.
-
#http_method ⇒ String
GET, PUT POST, HEAD or DELETE, defaults to POST.
-
#params ⇒ Array
readonly
An array of request params, each param responds to #name and #value.
-
#path ⇒ String
readonly
Path of the request URI, defaults to /.
-
#proxy_uri ⇒ nil, URI
The URI to the proxy server requests are sent through if configured.
-
#read_timeout ⇒ Integer
The number of seconds the service has to respond before a timeout error is raised on the request.
Instance Method Summary collapse
-
#add_param(name_or_param, value = nil) ⇒ Object
(also: #[]=)
Adds a request param.
-
#body ⇒ String?
Returns the request body.
-
#initialize ⇒ Request
constructor
Returns a new empty http request object.
-
#querystring ⇒ String?
Returns the requesty querystring.
-
#ssl_ca_file ⇒ String
Path to a bundle of CA certs in PEM format; the HTTP handler should use this to verify all HTTPS requests if #ssl_verify_peer? is true.
- #ssl_ca_file=(ca_file) ⇒ Object
-
#ssl_ca_path ⇒ String
Path to a bundle of CA certs in PEM format; the HTTP handler should use this to verify all HTTPS requests if #ssl_verify_peer? is true.
- #ssl_ca_path=(ca_path) ⇒ Object
- #ssl_verify_peer=(verify_peer) ⇒ Object
-
#ssl_verify_peer? ⇒ Boolean
If the client should verify the peer certificate or not.
-
#uri ⇒ String
The request uri.
-
#url_encoded_params ⇒ String
Returns the request params url encoded, or nil if this request has no params.
- #use_ssl=(use_ssl) ⇒ Object
-
#use_ssl? ⇒ Boolean
If this request should be sent over ssl or not.
Constructor Details
#initialize ⇒ Request
Returns a new empty http request object.
22 23 24 25 26 27 28 29 30 |
# File 'lib/aws/core/http/request.rb', line 22 def initialize @host = nil @http_method = 'POST' @path = '/' @headers = CaseInsensitiveHash.new @params = [] @use_ssl = true @read_timeout = 60 end |
Instance Attribute Details
#access_key_id ⇒ String
Returns the AWS access key ID used to authorize the request.
55 56 57 |
# File 'lib/aws/core/http/request.rb', line 55 def access_key_id @access_key_id end |
#headers ⇒ CaseInsensitiveHash (readonly)
Returns request headers.
41 42 43 |
# File 'lib/aws/core/http/request.rb', line 41 def headers @headers end |
#host ⇒ String
Returns hostname of the request.
38 39 40 |
# File 'lib/aws/core/http/request.rb', line 38 def host @host end |
#http_method ⇒ String
Returns GET, PUT POST, HEAD or DELETE, defaults to POST.
48 49 50 |
# File 'lib/aws/core/http/request.rb', line 48 def http_method @http_method end |
#params ⇒ Array (readonly)
Returns An array of request params, each param responds to #name and #value.
45 46 47 |
# File 'lib/aws/core/http/request.rb', line 45 def params @params end |
#path ⇒ String (readonly)
Returns path of the request URI, defaults to /.
51 52 53 |
# File 'lib/aws/core/http/request.rb', line 51 def path @path end |
#proxy_uri ⇒ nil, URI
Returns The URI to the proxy server requests are sent through if configured. Returns nil if there is no proxy.
59 60 61 |
# File 'lib/aws/core/http/request.rb', line 59 def proxy_uri @proxy_uri end |
#read_timeout ⇒ Integer
Returns The number of seconds the service has to respond before a timeout error is raised on the request. Defaults to 60 seconds.
35 36 37 |
# File 'lib/aws/core/http/request.rb', line 35 def read_timeout @read_timeout end |
Instance Method Details
#add_param(param_name, param_value = nil) ⇒ Object #add_param(param_obj) ⇒ Object Also known as: []=
Adds a request param.
122 123 124 125 126 127 128 |
# File 'lib/aws/core/http/request.rb', line 122 def add_param name_or_param, value = nil if name_or_param.kind_of?(Param) @params << name_or_param else @params << Param.new(name_or_param, value) end end |
#body ⇒ String?
Returns the request body.
164 165 166 |
# File 'lib/aws/core/http/request.rb', line 164 def body url_encoded_params end |
#querystring ⇒ String?
Returns the requesty querystring.
159 160 161 |
# File 'lib/aws/core/http/request.rb', line 159 def querystring nil end |
#ssl_ca_file ⇒ String
Returns Path to a bundle of CA certs in PEM format; the HTTP handler should use this to verify all HTTPS requests if #ssl_verify_peer? is true.
93 94 95 |
# File 'lib/aws/core/http/request.rb', line 93 def ssl_ca_file @ssl_ca_file end |
#ssl_ca_file=(ca_file) ⇒ Object
86 87 88 |
# File 'lib/aws/core/http/request.rb', line 86 def ssl_ca_file=(ca_file) @ssl_ca_file = ca_file end |
#ssl_ca_path ⇒ String
Returns Path to a bundle of CA certs in PEM format; the HTTP handler should use this to verify all HTTPS requests if #ssl_verify_peer? is true.
107 108 109 |
# File 'lib/aws/core/http/request.rb', line 107 def ssl_ca_path @ssl_ca_path end |
#ssl_ca_path=(ca_path) ⇒ Object
100 101 102 |
# File 'lib/aws/core/http/request.rb', line 100 def ssl_ca_path=(ca_path) @ssl_ca_path = ca_path end |
#ssl_verify_peer=(verify_peer) ⇒ Object
73 74 75 |
# File 'lib/aws/core/http/request.rb', line 73 def ssl_verify_peer=(verify_peer) @ssl_verify_peer = verify_peer end |
#ssl_verify_peer? ⇒ Boolean
Returns If the client should verify the peer certificate or not.
79 80 81 |
# File 'lib/aws/core/http/request.rb', line 79 def ssl_verify_peer? @ssl_verify_peer end |
#uri ⇒ String
Returns the request uri.
144 145 146 |
# File 'lib/aws/core/http/request.rb', line 144 def uri querystring ? "#{path}?#{querystring}" : path end |
#url_encoded_params ⇒ String
Returns the request params url encoded, or nil if this request has no params.
150 151 152 153 154 155 156 |
# File 'lib/aws/core/http/request.rb', line 150 def url_encoded_params if @params.empty? nil else @params.sort.collect{|p| p.encoded }.join('&') end end |
#use_ssl=(use_ssl) ⇒ Object
62 63 64 |
# File 'lib/aws/core/http/request.rb', line 62 def use_ssl= use_ssl @use_ssl = use_ssl end |
#use_ssl? ⇒ Boolean
Returns If this request should be sent over ssl or not.
67 68 69 |
# File 'lib/aws/core/http/request.rb', line 67 def use_ssl? @use_ssl end |