Class: AWS::S3::Authentication::CanonicalString
- Inherits:
-
String
- Object
- String
- AWS::S3::Authentication::CanonicalString
- Defined in:
- lib/aws/s3/authentication.rb
Overview
The CanonicalString is used to generate an encrypted signature, signed with your secrect access key. It is composed of data related to the given request for which it provides authentication. This data includes the request method, request headers, and the request path. Both Header and QueryString use it to generate their signature.
Instance Attribute Summary collapse
-
#current_host ⇒ Object
readonly
Returns the value of attribute current_host.
-
#headers ⇒ Object
readonly
Returns the value of attribute headers.
-
#request ⇒ Object
readonly
Returns the value of attribute request.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(request, current_host, options = {}) ⇒ CanonicalString
constructor
A new instance of CanonicalString.
Constructor Details
#initialize(request, current_host, options = {}) ⇒ CanonicalString
Returns a new instance of CanonicalString.
151 152 153 154 155 156 157 158 159 160 161 162 |
# File 'lib/aws/s3/authentication.rb', line 151 def initialize(request, current_host, = {}) super() @request = request @current_host = current_host @headers = {} @options = # "For non-authenticated or anonymous requests. A NotImplemented error result code will be returned if # an authenticated (signed) request specifies a Host: header other than 's3.amazonaws.com'" # (from http://docs.amazonwebservices.com/AmazonS3/2006-03-01/VirtualHosting.html) request['Host'] ||= DEFAULT_HOST build end |
Instance Attribute Details
#current_host ⇒ Object (readonly)
Returns the value of attribute current_host.
149 150 151 |
# File 'lib/aws/s3/authentication.rb', line 149 def current_host @current_host end |
#headers ⇒ Object (readonly)
Returns the value of attribute headers.
149 150 151 |
# File 'lib/aws/s3/authentication.rb', line 149 def headers @headers end |
#request ⇒ Object (readonly)
Returns the value of attribute request.
149 150 151 |
# File 'lib/aws/s3/authentication.rb', line 149 def request @request end |
Class Method Details
.amazon_header_prefix ⇒ Object
144 145 146 |
# File 'lib/aws/s3/authentication.rb', line 144 def amazon_header_prefix /^#{AMAZON_HEADER_PREFIX}/io end |
.default_headers ⇒ Object
136 137 138 |
# File 'lib/aws/s3/authentication.rb', line 136 def default_headers %w(content-type content-md5) end |
.interesting_headers ⇒ Object
140 141 142 |
# File 'lib/aws/s3/authentication.rb', line 140 def interesting_headers ['content-md5', 'content-type', 'date', 'Host', amazon_header_prefix] end |