Class: S3HttpGet::Request
- Inherits:
-
Object
- Object
- S3HttpGet::Request
- Defined in:
- lib/s3-http-get/request.rb
Instance Method Summary collapse
- #execute ⇒ Net::HTTPResponse
-
#initialize(uri, profile_name: nil) ⇒ Request
constructor
A new instance of Request.
Constructor Details
#initialize(uri, profile_name: nil) ⇒ Request
7 8 9 10 11 12 13 14 15 |
# File 'lib/s3-http-get/request.rb', line 7 def initialize(uri, profile_name: nil) @uri = uri.is_a?(URI::HTTP) ? uri : URI(uri) # cf. Aws::CredentialProviderChain @credentials = Aws::Credentials.new(ENV["AWS_ACCESS_KEY_ID"], ENV["AWS_SECRET_ACCESS_KEY"]) unless @credentials.set? @credentials = Aws::SharedCredentials.new(profile_name: profile_name) end end |
Instance Method Details
#execute ⇒ Net::HTTPResponse
18 19 20 21 22 23 24 25 |
# File 'lib/s3-http-get/request.rb', line 18 def execute Net::HTTP.start(@uri.host, @uri.port, use_ssl: @uri.scheme == "https") do |http| request = Net::HTTP::Get.new(@uri) # cf. http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html request.initialize_http_header(build_signature(@uri, @credentials).headers) http.request(request) end end |