A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.rubydoc.info/github/rubygems/rubygems/Gem/S3URISigner below:

S3URISigner – Documentation for rubygems/rubygems (master) – RubyDoc.info

Class: Gem::S3URISigner
Inherits:
Object show all
Defined in:
lib/rubygems/s3_uri_signer.rb
Overview Defined Under Namespace

Classes: ConfigurationError, InstanceProfileError, S3Config

Instance Attribute Summary collapse Instance Method Summary collapse Constructor Details #initialize(uri, method) ⇒ S3URISigner

Returns a new instance of S3URISigner.

32
33
34
35
# File 'lib/rubygems/s3_uri_signer.rb', line 32

def initialize(uri, method)
  @uri = uri
  @method = method
end
Instance Attribute Details #method ⇒ Object

Returns the value of attribute method.

30
31
32
# File 'lib/rubygems/s3_uri_signer.rb', line 30

def method
  @method
end
#uri ⇒ Object

Returns the value of attribute uri.

29
30
31
# File 'lib/rubygems/s3_uri_signer.rb', line 29

def uri
  @uri
end
Instance Method Details #sign(expiration = 86_400) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/rubygems/s3_uri_signer.rb', line 39

def sign(expiration = 86_400)
  s3_config = fetch_s3_config

  current_time = Time.now.utc
  date_time = current_time.strftime("%Y%m%dT%H%M%SZ")
  date = date_time[0,8]

  credential_info = "#{date}/#{s3_config.region}/s3/aws4_request"
  canonical_host = "#{uri.host}.s3.#{s3_config.region}.amazonaws.com"

  query_params = generate_canonical_query_params(s3_config, date_time, credential_info, expiration)
  canonical_request = generate_canonical_request(canonical_host, query_params)
  string_to_sign = generate_string_to_sign(date_time, credential_info, canonical_request)
  signature = generate_signature(s3_config, date, string_to_sign)

  Gem::URI.parse("https://#{canonical_host}#{uri.path}?#{query_params}&X-Amz-Signature=#{signature}")
end

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4