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.
148 149 150 151 152 153 154 155 156 157 158 159 |
# File 'lib/aws/s3/authentication.rb', line 148 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.
146 147 148 |
# File 'lib/aws/s3/authentication.rb', line 146 def current_host @current_host end |
#headers ⇒ Object (readonly)
Returns the value of attribute headers.
146 147 148 |
# File 'lib/aws/s3/authentication.rb', line 146 def headers @headers end |
#request ⇒ Object (readonly)
Returns the value of attribute request.
146 147 148 |
# File 'lib/aws/s3/authentication.rb', line 146 def request @request end |
Class Method Details
.amazon_header_prefix ⇒ Object
141 142 143 |
# File 'lib/aws/s3/authentication.rb', line 141 def amazon_header_prefix /^#{AMAZON_HEADER_PREFIX}/io end |
.default_headers ⇒ Object
133 134 135 |
# File 'lib/aws/s3/authentication.rb', line 133 def default_headers %w(content-type content-md5) end |
.interesting_headers ⇒ Object
137 138 139 |
# File 'lib/aws/s3/authentication.rb', line 137 def interesting_headers ['content-md5', 'content-type', 'date', 'Host', amazon_header_prefix] end |