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] || {}