Class: AWS::Http::Request
- Inherits:
-
Object
- Object
- AWS::Http::Request
- Defined in:
- lib/aws/http/request.rb,
lib/aws/http/request_param.rb
Overview
Base class for all service reqeusts.
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.
Instance Method Summary collapse
-
#add_param(name_or_param, value = nil) ⇒ Object
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_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.
24 25 26 27 28 29 30 31 |
# File 'lib/aws/http/request.rb', line 24 def initialize @host = nil @http_method = 'POST' @path = '/' @headers = CaseInsensitiveHash.new @params = [] @use_ssl = true end |
Instance Attribute Details
#access_key_id ⇒ String
Returns the AWS access key ID used to authorize the request.
51 52 53 |
# File 'lib/aws/http/request.rb', line 51 def access_key_id @access_key_id end |
#headers ⇒ CaseInsensitiveHash (readonly)
Returns request headers.
37 38 39 |
# File 'lib/aws/http/request.rb', line 37 def headers @headers end |
#host ⇒ String
Returns hostname of the request.
34 35 36 |
# File 'lib/aws/http/request.rb', line 34 def host @host end |
#http_method ⇒ String
Returns GET, PUT POST, HEAD or DELETE, defaults to POST.
44 45 46 |
# File 'lib/aws/http/request.rb', line 44 def http_method @http_method end |
#params ⇒ Array (readonly)
Returns An array of request params, each param responds to #name and #value.
41 42 43 |
# File 'lib/aws/http/request.rb', line 41 def params @params end |
#path ⇒ String (readonly)
Returns path of the request URI, defaults to /.
47 48 49 |
# File 'lib/aws/http/request.rb', line 47 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.
55 56 57 |
# File 'lib/aws/http/request.rb', line 55 def proxy_uri @proxy_uri end |
Instance Method Details
#add_param(param_name, param_value = nil) ⇒ Object #add_param(param_obj) ⇒ Object
Adds a request param.
104 105 106 107 108 109 110 |
# File 'lib/aws/http/request.rb', line 104 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.
139 140 141 |
# File 'lib/aws/http/request.rb', line 139 def body url_encoded_params end |
#querystring ⇒ String?
Returns the requesty querystring.
134 135 136 |
# File 'lib/aws/http/request.rb', line 134 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.
89 90 91 |
# File 'lib/aws/http/request.rb', line 89 def ssl_ca_file @ssl_ca_file end |
#ssl_ca_file=(ca_file) ⇒ Object
82 83 84 |
# File 'lib/aws/http/request.rb', line 82 def ssl_ca_file=(ca_file) @ssl_ca_file = ca_file end |
#ssl_verify_peer=(verify_peer) ⇒ Object
69 70 71 |
# File 'lib/aws/http/request.rb', line 69 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.
75 76 77 |
# File 'lib/aws/http/request.rb', line 75 def ssl_verify_peer? @ssl_verify_peer end |
#uri ⇒ String
Returns the request uri.
119 120 121 |
# File 'lib/aws/http/request.rb', line 119 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.
125 126 127 128 129 130 131 |
# File 'lib/aws/http/request.rb', line 125 def url_encoded_params if @params.empty? nil else @params.sort.collect{|p| p.encoded }.join('&') end end |
#use_ssl=(use_ssl) ⇒ Object
58 59 60 |
# File 'lib/aws/http/request.rb', line 58 def use_ssl= use_ssl @use_ssl = use_ssl end |
#use_ssl? ⇒ Boolean
Returns If this request should be sent over ssl or not.
63 64 65 |
# File 'lib/aws/http/request.rb', line 63 def use_ssl? @use_ssl end |