lib/fog/storage/aws.rb in fog-0.6.0 vs lib/fog/storage/aws.rb in fog-0.7.0
- old
+ new
@@ -56,31 +56,10 @@
:aws_access_key_id => @aws_access_key_id,
:aws_secret_access_key => @aws_secret_access_key
)
end
- def parse_data(data)
- metadata = {
- :body => nil,
- :headers => {}
- }
-
- if data.is_a?(String)
- metadata[:body] = data
- metadata[:headers]['Content-Length'] = metadata[:body].size
- else
- filename = ::File.basename(data.path)
- unless (mime_types = MIME::Types.of(filename)).empty?
- metadata[:headers]['Content-Type'] = mime_types.first.content_type
- end
- metadata[:body] = data
- metadata[:headers]['Content-Length'] = ::File.size(data.path)
- end
- # metadata[:headers]['Content-MD5'] = Base64.encode64(Digest::MD5.digest(metadata[:body])).strip
- metadata
- end
-
def url(params, expires)
params[:headers]['Date'] = expires.to_i
params[:path] = CGI.escape(params[:path]).gsub('%2F', '/')
query = [params[:query]].compact
query << "AWSAccessKeyId=#{@aws_access_key_id}"
@@ -167,16 +146,10 @@
}
end
end
end
- def self.reset_data(keys=data.keys)
- for key in [*keys]
- data.delete(key)
- end
- end
-
def initialize(options={})
unless options.delete(:provider)
location = caller.first
warning = "[yellow][WARN] Fog::AWS::Storage.new is deprecated, use Fog::Storage.new(:provider => 'AWS') instead[/]"
warning << " [light_black](" << location << ")[/] "
@@ -186,27 +159,36 @@
require 'mime/types'
@aws_access_key_id = options[:aws_access_key_id]
@aws_secret_access_key = options[:aws_secret_access_key]
options[:region] ||= 'us-east-1'
@host = options[:host] || case options[:region]
+ when 'ap-northeast-1'
+ 's3-ap-northeast-1.amazonaws.com'
+ when 'ap-southeast-1'
+ 's3-ap-southeast-1.amazonaws.com'
when 'eu-west-1'
's3-eu-west-1.amazonaws.com'
when 'us-east-1'
's3.amazonaws.com'
- when 'ap-southeast-1'
- 's3-ap-southeast-1.amazonaws.com'
when 'us-west-1'
's3-us-west-1.amazonaws.com'
else
raise ArgumentError, "Unknown region: #{options[:region].inspect}"
end
- @data = self.class.data[options[:region]][@aws_access_key_id]
+ @region = options[:region]
+ reset_data
end
+ def reset_data
+ self.class.data[@region].delete(@aws_access_key_id)
+ @data = self.class.data[@region][@aws_access_key_id]
+ end
+
def signature(params)
"foo"
end
+
end
class Real
include Utils
@@ -248,15 +230,17 @@
@port = endpoint.port
@scheme = endpoint.scheme
else
options[:region] ||= 'us-east-1'
@host = options[:host] || case options[:region]
+ when 'ap-northeast-1'
+ 's3-ap-northeast-1.amazonaws.com'
+ when 'ap-southeast-1'
+ 's3-ap-southeast-1.amazonaws.com'
when 'eu-west-1'
's3-eu-west-1.amazonaws.com'
when 'us-east-1'
's3.amazonaws.com'
- when 'ap-southeast-1'
- 's3-ap-southeast-1.amazonaws.com'
when 'us-west-1'
's3-us-west-1.amazonaws.com'
else
raise ArgumentError, "Unknown region: #{options[:region].inspect}"
end