Class: Aws::Plugins::S3Md5s::Handler Private
- Inherits:
-
Seahorse::Client::Handler
- Object
- Seahorse::Client::Handler
- Aws::Plugins::S3Md5s::Handler
- Defined in:
- lib/aws-sdk-core/plugins/s3_md5s.rb
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Constant Summary collapse
- OneMB =
This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.
1024 * 1024
Instance Attribute Summary
Attributes inherited from Seahorse::Client::Handler
Instance Method Summary collapse
- #call(context) ⇒ Object private
- #md5(body) ⇒ Object private
Methods inherited from Seahorse::Client::Handler
Constructor Details
This class inherits a constructor from Seahorse::Client::Handler
Instance Method Details
#call(context) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
28 29 30 31 32 33 34 |
# File 'lib/aws-sdk-core/plugins/s3_md5s.rb', line 28 def call(context) body = context.http_request.body if body.size > 0 context.http_request.headers['Content-Md5'] ||= md5(body) end @handler.call(context) end |
#md5(body) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
36 37 38 39 40 41 42 43 |
# File 'lib/aws-sdk-core/plugins/s3_md5s.rb', line 36 def md5(body) md5 = OpenSSL::Digest::MD5.new while chunk = body.read(OneMB) md5.update(chunk) end body.rewind Base64.encode64(md5.digest).strip end |