class Blobsterix::S3Auth::V2

Constants

SUBRESOURCES

these should actually be used when calculating the signature when suplied as query parameters, but they are not needed in this usecase

V2_REGEX

Attributes

access_key[R]
env[R]
signature[R]

Public Class Methods

create(env) click to toggle source
# File lib/blobsterix/s3/s3_auth_v2.rb, line 32
def self.create(env)
  auth_string = env["HTTP_AUTHORIZATION"]
  matcher = V2_REGEX.match(auth_string)
  matcher ? V2.new(env, matcher[1], matcher[2]) : nil
end
new(env, access_key, signature) click to toggle source
# File lib/blobsterix/s3/s3_auth_v2.rb, line 39
def initialize(env, access_key, signature)
  @env = env
  @access_key = access_key
  @signature = signature
end

Public Instance Methods

is_expired?() click to toggle source
# File lib/blobsterix/s3/s3_auth_v2.rb, line 49
def is_expired?
  ::Blobsterix::S3Auth.current_time-Time.parse(time_to_check) > 15*60
end
server_signature(secret_key, str) click to toggle source
# File lib/blobsterix/s3/s3_auth_v2.rb, line 57
def server_signature(secret_key, str)
  gen_signature(secret_key, str)
end
time_of_request() click to toggle source
# File lib/blobsterix/s3/s3_auth_v2.rb, line 53
def time_of_request
  env["HTTP_DATE"] unless env["HTTP_X_AMZ_DATE"]
end
time_to_check() click to toggle source
# File lib/blobsterix/s3/s3_auth_v2.rb, line 45
def time_to_check
  env["HTTP_X_AMZ_DATE"]||env["HTTP_DATE"]
end