Sha256: 71eed75ef69b2bb095a837a99719e01ce12fe2605f22cba34da76827bd8191dc

Contents?: true

Size: 2 KB

Versions: 2

Compression:

Stored size: 2 KB

Contents

module Fog
  module Storage
    class Dtdream
      class Real
        # List existing storage containers
        #
        # ==== Parameters
        # * options<~Hash>:
        #   * 'limit'<~Integer> - Upper limit to number of results returned
        #   * 'marker'<~String> - Only return objects with name greater than this value
        #
        # ==== Returns
        #
        def get_containers(options = {})
          options = options.reject {|key, value| value.nil?}

          bucket = options[:bucket]
          bucket ||= @aliyun_oss_bucket
          prefix = options[:prefix]
          marker = options[:marker]
          maxKeys = options[:maxKeys]
          delimiter = '/'

          path = ""

          if prefix
            path+="?prefix="+prefix
            if marker
              path+="&marker="+marker
            end
            if maxKeys
              path+="&max-keys="+maxKeys
            end
            if delimiter
              path+="&delimiter="+delimiter
            end

          elsif marker
            path+="?marker="+marker
            if maxKeys
              path+="&max-keys="+maxKeys
            end
            if delimiter
              path+="&delimiter="+delimiter
            end

          elsif maxKeys
            path+="?max-keys="+maxKeys
            if delimiter
              path+="&delimiter="+delimiter
            end
          elsif delimiter
            path+="?delimiter="+delimiter
          end

          location = get_bucket_location(bucket)
          endpoint = "http://"+location+".aliyuncs.com"
          resource = bucket+'/'
          ret = request(
              :expects  => [200, 203, 400],
              :method   => 'GET',
              :path     => path,
              :resource => resource,
              :bucket => bucket
          )
          xml = ret.data[:body]
          result = XmlSimple.xml_in(xml)["CommonPrefixes"]
        end
      end

      class Mock
        def get_containers(options = {})
          
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fog-dtdream-0.0.8 lib/fog/dtdream/requests/storage/get_containers.rb
fog-dtdream-0.0.7 lib/fog/dtdream/requests/storage/get_containers.rb