more rackspace files implementation

This commit is contained in:
Wesley Beary 2009-10-26 17:56:08 -07:00
parent 8ef154b1ab
commit 52add3ee4f
3 changed files with 101 additions and 2 deletions

View File

@ -0,0 +1,54 @@
unless Fog.mocking?
module Fog
module Rackspace
class Files
# List number of containers and total bytes stored
#
# ==== Parameters
# * container<~String> - Name of container to retrieve info for
# * options<~String>:
# * 'limit'<~String> - Maximum number of objects to return
# * 'marker'<~String> - Only return objects whose name is greater than marker
# * 'prefix'<~String> - Limits results to those starting with prefix
# * 'path'<~String> - Return objects nested in the pseudo path
#
# ==== Returns
# * response<~Fog::AWS::Response>:
# * headers<~Hash>:
# * 'X-Account-Container-Count'<~String> - Count of containers
# * 'X-Account-Bytes-Used'<~String> - Bytes used
def get_container(container, options = {})
query = ''
for key, value in options.merge!({ 'format' => 'json' })
query << "#{key}=#{value}&"
end
query.chop!
response = storage_request(
:expects => 200,
:method => 'GET',
:path => container,
:query => query
)
response
end
end
end
end
else
module Fog
module Rackspace
class Servers
def get_flavors
end
end
end
end
end

View File

@ -22,13 +22,14 @@ unless Fog.mocking?
options = { 'format' => 'json' }.merge!(options)
query = []
for key, value in options
query << "#{key}=#{CGI.escape(value)}"
query << "#{key}=#{CGI.escape(value)}&"
end
query.chop!
response = storage_request(
:expects => [200, 204],
:method => 'GET',
:path => '',
:query => query.join('&')
:query => query
)
if response.status == 204
response.body = []

View File

@ -0,0 +1,44 @@
unless Fog.mocking?
module Fog
module Rackspace
class Files
# List number of objects and total bytes stored
#
# ==== Parameters
# * container<~String> - Name of container to retrieve info for
#
# ==== Returns
# * response<~Fog::AWS::Response>:
# * headers<~Hash>:
# * 'X-Container-Object-Count'<~String> - Count of containers
# * 'X-Container-Bytes-Used'<~String> - Bytes used
def head_container(container)
response = storage_request(
:expects => 204,
:method => 'HEAD',
:path => container,
:query => 'format=json'
)
response
end
end
end
end
else
module Fog
module Rackspace
class Servers
def get_flavors
end
end
end
end
end