lib/fog/aliyun/storage.rb in fog-xiaozhu-0.2.1 vs lib/fog/aliyun/storage.rb in fog-xiaozhu-0.2.2

- old
+ new

@@ -1,25 +1,15 @@ require 'xmlsimple' module Fog module Storage class Aliyun < Fog::Service - - DEFAULT_REGION = 'cn-hangzhou' - - DEFAULT_SCHEME = 'http' - DEFAULT_SCHEME_PORT = { - 'http' => 80, - 'https' => 443 - } - recognizes :aliyun_oss_endpoint, :aliyun_oss_location, - :aliyun_region_id - requires :aliyun_accesskey_id, - :aliyun_accesskey_secret, :aliyun_oss_bucket + requires :aliyun_accesskey_id, + :aliyun_accesskey_secret model_path 'fog/aliyun/models/storage' model :directory collection :directories model :file @@ -45,13 +35,13 @@ class Real # Initialize connection to OSS # # ==== Notes - # options parameter must include values for :aliyun_accesskey_id, :aliyun_secret_access_key and :aliyun_oss_bucket in order to create a connection. - # :aliyun_oss_location will be replaced by :aliyun_region_id, and it has a default value cn-hangzhou - # if :aliyun_oss_endpoint is not specified, it will be generated by method region_to_endpoint + # options parameter must include values for :aliyun_oss_endpoint, :aliyun_accesskey_id, + # :aliyun_secret_access_key, :aliyun_oss_location and :aliyun_oss_bucket in order to create a connection. + # if you haven't set these values in the configuration file. # # ==== Examples # sdb = Fog::Storage.new(:provider=>'aliyun', # :aliyun_accesskey_id => your_:aliyun_accesskey_id, # :aliyun_secret_access_key => your_aliyun_secret_access_key @@ -63,58 +53,44 @@ # ==== Returns # * OSS object with connection to aliyun. attr_reader :aliyun_accesskey_id attr_reader :aliyun_accesskey_secret attr_reader :aliyun_oss_endpoint - attr_reader :aliyun_region_id + attr_reader :aliyun_oss_location attr_reader :aliyun_oss_bucket def initialize(options = {}) # initialize the parameters - @aliyun_region_id = options[:aliyun_region_id] || options[:aliyun_oss_location] || DEFAULT_REGION - @aliyun_oss_endpoint = options[:aliyun_oss_endpoint] || region_to_endpoint(@aliyun_region_id) + @aliyun_oss_endpoint = options[:aliyun_oss_endpoint] + @aliyun_oss_location = options[:aliyun_oss_location] @aliyun_accesskey_id = options[:aliyun_accesskey_id] @aliyun_accesskey_secret = options[:aliyun_accesskey_secret] @aliyun_oss_bucket = options[:aliyun_oss_bucket] # check for the parameters missing_credentials = [] - missing_credentials << :aliyun_oss_bucket unless @aliyun_oss_bucket + missing_credentials << :aliyun_oss_endpoint unless @aliyun_oss_endpoint + missing_credentials << :aliyun_oss_location unless @aliyun_oss_location missing_credentials << :aliyun_accesskey_id unless @aliyun_accesskey_id missing_credentials << :aliyun_accesskey_secret unless @aliyun_accesskey_secret raise ArgumentError, "Missing required arguments: #{missing_credentials.join(', ')}" unless missing_credentials.empty? @connection_options = options[:connection_options] || {} - endpoint = @aliyun_oss_endpoint - - if !endpoint.start_with?(DEFAULT_SCHEME) - @aliyun_oss_endpoint = "#{DEFAULT_SCHEME}://#{endpoint}" - end - uri = URI.parse(@aliyun_oss_endpoint) @host = uri.host @path = uri.path - @scheme = uri.scheme || DEFAULT_SCHEME - @port = uri.port || DEFAULT_SCHEME_PORT[@scheme] + @port = uri.port + @scheme = uri.scheme @persistent = options[:persistent] || false end def reload @connection.reset end - def region_to_endpoint(region=nil) - case region.to_s - when '' - "oss-#{DEFAULT_REGION}.aliyuncs.com" - else - "oss-#{region}.aliyuncs.com" - end - end - def request(params) method = params[:method] time = Time.new.utc date = time.strftime('%a, %d %b %Y %H:%M:%S GMT') @@ -203,17 +179,17 @@ end class Mock def initialize(options = {}) @aliyun_oss_endpoint = options[:aliyun_oss_endpoint] - @aliyun_region_id = options[:aliyun_region_id] + @aliyun_oss_location = options[:aliyun_oss_location] @aliyun_accesskey_id = options[:aliyun_accesskey_id] @aliyun_accesskey_secret = options[:aliyun_accesskey_secret] @aliyun_oss_bucket = options[:aliyun_oss_bucket] # missing_credentials = Array.new # missing_credentials << :aliyun_oss_endpoint unless @aliyun_oss_endpoint - # missing_credentials << :aliyun_region_id unless @aliyun_region_id + # missing_credentials << :aliyun_oss_location unless @aliyun_oss_location # missing_credentials << :aliyun_accesskey_id unless @aliyun_accesskey_id # missing_credentials << :aliyun_accesskey_secret unless @aliyun_accesskey_secret # raise ArgumentError, "Missing required arguments: #{missing_credentials.join(', ')}" unless missing_credentials.empty? @connection_options = options[:connection_options] || {}