Sha256: 05a03edfbe282f827f8c1e808c04b91e9bc00705eef7edcd6e274c387ad53ea0
Contents?: true
Size: 1.47 KB
Versions: 4
Compression:
Stored size: 1.47 KB
Contents
module Progstr module Filer class << self attr_accessor :host, :port, :path_prefix, :session_timeout attr_writer :access_key, :secret_key def access_key @access_key || ENV['PROGSTR_FILER_ACCESS_KEY'] end def secret_key @secret_key || ENV['PROGSTR_FILER_SECRET_KEY'] end def host @host ||= "filer-api.progstr.com" end def port @port || 80 end def path_prefix @path_prefix ||= '/' end def session_timeout @http_read_timeout ||= 30 * 60 # 30 minutes end def generate_auth_token expiration = expiration_time to_sign = "#{access_key}-#{expiration}-#{secret_key}" signature = Digest::SHA1.hexdigest(to_sign) "#{access_key}-#{expiration}-#{signature}" end def generate_file_auth_token(file_id) expiration = expiration_time to_sign = "#{access_key}-#{file_id}-#{expiration}-#{secret_key}" signature = Digest::SHA1.hexdigest(to_sign) "#{access_key}-#{expiration}-#{signature}" end def url_prefix prefix = "http://#{Progstr::Filer.host}:#{Progstr::Filer.port}#{Progstr::Filer.path_prefix}" if prefix.end_with? "/" prefix else prefix + "/" end end private def expiration_time seconds = (Time.now + session_timeout).to_i millis = seconds * 1000 millis end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
progstr-filer-0.8.7 | lib/filer/config.rb |
progstr-filer-0.8.6 | lib/filer/config.rb |
progstr-filer-0.8.5 | lib/filer/config.rb |
progstr-filer-0.8.4 | lib/filer/config.rb |