mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
[fog|time] add date header formatting that is non-localized
This commit is contained in:
parent
242595e919
commit
d055ac1ec9
12 changed files with 36 additions and 30 deletions
|
@ -70,7 +70,7 @@ module Fog
|
|||
|
||||
headers = {
|
||||
'Content-Type' => 'application/x-www-form-urlencoded',
|
||||
'Date' => Time.now.utc.strftime("%a, %d %b %Y %H:%M:%S +0000")
|
||||
'Date' => Fog::Time.now.to_date_header
|
||||
}
|
||||
|
||||
#AWS3-HTTPS AWSAccessKeyId=<Your AWS Access Key ID>, Algorithm=HmacSHA256, Signature=<Signature>
|
||||
|
|
|
@ -98,7 +98,7 @@ module Fog
|
|||
|
||||
def request(params, &block)
|
||||
params[:headers] ||= {}
|
||||
params[:headers]['Date'] = Time.now.utc.strftime("%a, %d %b %Y %H:%M:%S +0000")
|
||||
params[:headers]['Date'] = Fog::Time.now.to_date_header
|
||||
params[:headers]['Authorization'] = "AWS #{@aws_access_key_id}:#{signature(params)}"
|
||||
params[:path] = "/#{@version}/#{params[:path]}"
|
||||
@connection.request(params, &block)
|
||||
|
|
|
@ -1,21 +1,27 @@
|
|||
module Fog
|
||||
class Time < ::Time
|
||||
class << self
|
||||
|
||||
def now
|
||||
::Time.now - offset
|
||||
end
|
||||
|
||||
def now=(new_now)
|
||||
old_now = ::Time.now
|
||||
@offset = old_now - new_now
|
||||
new_now
|
||||
end
|
||||
|
||||
def offset
|
||||
@offset ||= 0
|
||||
end
|
||||
DAYS = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
|
||||
MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
|
||||
|
||||
def self.now
|
||||
at((::Time.now - offset).to_i)
|
||||
end
|
||||
|
||||
def self.now=(new_now)
|
||||
old_now = ::Time.now
|
||||
@offset = old_now - new_now
|
||||
new_now
|
||||
end
|
||||
|
||||
def self.offset
|
||||
@offset ||= 0
|
||||
end
|
||||
|
||||
def to_date_header
|
||||
now = self.class.now.utc
|
||||
now.strftime("#{DAYS[now.wday]}, %d #{MONTHS[now.month - 1]} %Y %H:%M:%S +0000")
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -103,7 +103,7 @@ module Fog
|
|||
|
||||
def request(params, &block)
|
||||
params[:headers] ||= {}
|
||||
params[:headers]['Date'] = Time.now.utc.strftime("%a, %d %b %Y %H:%M:%S +0000")
|
||||
params[:headers]['Date'] = Fog::Time.now.to_date_header
|
||||
params[:headers]['X-Amzn-Authorization'] = "AWS3-HTTPS AWSAccessKeyId=#{@aws_access_key_id},Algorithm=HmacSHA1,Signature=#{signature(params)}"
|
||||
params[:path] = "/#{@version}/#{params[:path]}"
|
||||
@connection.request(params, &block)
|
||||
|
|
|
@ -289,7 +289,7 @@ module Fog
|
|||
private
|
||||
|
||||
def request(params, &block)
|
||||
params[:headers]['Date'] = Time.now.utc.strftime("%a, %d %b %Y %H:%M:%S +0000")
|
||||
params[:headers]['Date'] = Fog::Time.now.to_date_header
|
||||
params[:headers]['Authorization'] = "AWS #{@aws_access_key_id}:#{signature(params)}"
|
||||
params[:expects] = [307, *params[:expects]].flatten
|
||||
# FIXME: ToHashParser should make this not needed
|
||||
|
|
|
@ -212,7 +212,7 @@ module Fog
|
|||
private
|
||||
|
||||
def request(params, &block)
|
||||
params[:headers]['Date'] = Time.now.utc.strftime("%a, %d %b %Y %H:%M:%S +0000")
|
||||
params[:headers]['Date'] = Fog::Time.now.to_date_header
|
||||
params[:headers]['Authorization'] = "GOOG1 #{@google_storage_access_key_id}:#{signature(params)}"
|
||||
|
||||
response = @connection.request(params, &block)
|
||||
|
|
|
@ -39,8 +39,8 @@ module Fog
|
|||
query = {'versionId' => version_id}
|
||||
end
|
||||
headers = {}
|
||||
headers['If-Modified-Since'] = options['If-Modified-Since'].utc.strftime("%a, %d %b %Y %H:%M:%S +0000") if options['If-Modified-Since']
|
||||
headers['If-Unmodified-Since'] = options['If-Unmodified-Since'].utc.strftime("%a, %d %b %Y %H:%M:%S +0000") if options['If-Modified-Since']
|
||||
headers['If-Modified-Since'] = Fog::Time.at(options['If-Modified-Since'].to_i).to_date_header if options['If-Modified-Since']
|
||||
headers['If-Unmodified-Since'] = Fog::Time.at(options['If-Unmodified-Since'].to_i).to_date_header if options['If-Modified-Since']
|
||||
headers.merge!(options)
|
||||
request({
|
||||
:expects => 200,
|
||||
|
|
|
@ -39,8 +39,8 @@ module Fog
|
|||
query = {'versionId' => version_id}
|
||||
end
|
||||
headers = {}
|
||||
headers['If-Modified-Since'] = options['If-Modified-Since'].utc.strftime("%a, %d %b %Y %H:%M:%S +0000") if options['If-Modified-Since']
|
||||
headers['If-Unmodified-Since'] = options['If-Unmodified-Since'].utc.strftime("%a, %d %b %Y %H:%M:%S +0000") if options['If-Modified-Since']
|
||||
headers['If-Modified-Since'] = Fog::Time.at(options['If-Modified-Since'].to_i).to_date_header if options['If-Modified-Since']
|
||||
headers['If-Unmodified-Since'] = Fog::Time.at(options['If-Unmodified-Since'].to_i).to_date_header if options['If-Modified-Since']
|
||||
headers.merge!(options)
|
||||
request({
|
||||
:expects => 200,
|
||||
|
|
|
@ -67,7 +67,7 @@ module Fog
|
|||
'Content-Type' => data[:headers]['Content-Type'],
|
||||
'ETag' => Fog::AWS::Mock.etag,
|
||||
'Key' => object_name,
|
||||
'LastModified' => Time.now.utc.strftime("%a, %d %b %Y %H:%M:%S +0000"),
|
||||
'LastModified' => Fog::Time.now.to_date_header,
|
||||
'Size' => data[:headers]['Content-Length'],
|
||||
'StorageClass' => 'STANDARD'
|
||||
}
|
||||
|
|
|
@ -36,8 +36,8 @@ module Fog
|
|||
query = {'versionId' => version_id}
|
||||
end
|
||||
headers = {}
|
||||
headers['If-Modified-Since'] = options['If-Modified-Since'].utc.strftime("%a, %d %b %Y %H:%M:%S +0000") if options['If-Modified-Since']
|
||||
headers['If-Unmodified-Since'] = options['If-Unmodified-Since'].utc.strftime("%a, %d %b %Y %H:%M:%S +0000") if options['If-Modified-Since']
|
||||
headers['If-Modified-Since'] = Fog::Time.at(options['If-Modified-Since'].to_i).to_date_header if options['If-Modified-Since']
|
||||
headers['If-Unmodified-Since'] = Fog::Time.at(options['If-Unmodified-Since'].to_i).to_date_header if options['If-Modified-Since']
|
||||
headers.merge!(options)
|
||||
request({
|
||||
:expects => 200,
|
||||
|
|
|
@ -35,8 +35,8 @@ module Fog
|
|||
query = {'versionId' => version_id}
|
||||
end
|
||||
headers = {}
|
||||
headers['If-Modified-Since'] = options['If-Modified-Since'].utc.strftime("%a, %d %b %Y %H:%M:%S +0000") if options['If-Modified-Since']
|
||||
headers['If-Unmodified-Since'] = options['If-Unmodified-Since'].utc.strftime("%a, %d %b %Y %H:%M:%S +0000") if options['If-Modified-Since']
|
||||
headers['If-Modified-Since'] = Fog::Time.at(options['If-Modified-Since'].to_i).to_date_header if options['If-Modified-Since']
|
||||
headers['If-Unmodified-Since'] = Fog::Time.at(options['If-Unmodified-Since'].to_i).to_date_header if options['If-Modified-Since']
|
||||
headers.merge!(options)
|
||||
request({
|
||||
:expects => 200,
|
||||
|
|
|
@ -62,7 +62,7 @@ module Fog
|
|||
'Content-Type' => data[:headers]['Content-Type'],
|
||||
'ETag' => Fog::Google::Mock.etag,
|
||||
'Key' => object_name,
|
||||
'LastModified' => Time.now.utc.strftime("%a, %d %b %Y %H:%M:%S +0000"),
|
||||
'LastModified' => Fog::Time.now.to_date_header,
|
||||
'Size' => data[:headers]['Content-Length'],
|
||||
'StorageClass' => 'STANDARD'
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue