mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
more rackspace files implementation
This commit is contained in:
parent
8ef154b1ab
commit
52add3ee4f
3 changed files with 101 additions and 2 deletions
54
lib/fog/rackspace/requests/files/get_container.rb
Normal file
54
lib/fog/rackspace/requests/files/get_container.rb
Normal 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
|
|
@ -22,13 +22,14 @@ unless Fog.mocking?
|
||||||
options = { 'format' => 'json' }.merge!(options)
|
options = { 'format' => 'json' }.merge!(options)
|
||||||
query = []
|
query = []
|
||||||
for key, value in options
|
for key, value in options
|
||||||
query << "#{key}=#{CGI.escape(value)}"
|
query << "#{key}=#{CGI.escape(value)}&"
|
||||||
end
|
end
|
||||||
|
query.chop!
|
||||||
response = storage_request(
|
response = storage_request(
|
||||||
:expects => [200, 204],
|
:expects => [200, 204],
|
||||||
:method => 'GET',
|
:method => 'GET',
|
||||||
:path => '',
|
:path => '',
|
||||||
:query => query.join('&')
|
:query => query
|
||||||
)
|
)
|
||||||
if response.status == 204
|
if response.status == 204
|
||||||
response.body = []
|
response.body = []
|
||||||
|
|
44
lib/fog/rackspace/requests/files/head_container.rb
Normal file
44
lib/fog/rackspace/requests/files/head_container.rb
Normal 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
|
Loading…
Reference in a new issue