Sha256: 904f9b6e900886a5f09a71dea1e672c66c7b1adc8d48132c7be2bc4444dce58b

Contents?: true

Size: 1.82 KB

Versions: 61

Compression:

Stored size: 1.82 KB

Contents

module Fog
  module Storage
    class HP
      class Real

        # Get details for a shared object
        #
        # ==== Parameters
        # * shared_object_url<~String> - Url of the shared object
        #
        def get_shared_object(shared_object_url, &block)
          # split up the shared object url
          uri = URI.parse(shared_object_url)
          path   = uri.path

          if block_given?
            response = shared_request(
              :response_block  => block,
              :expects  => 200,
              :method   => 'GET',
              :path     => path
            )
          else
            response = shared_request({
              :expects  => 200,
              :method   => 'GET',
              :path     => path
            }, false, &block)
          end
          response
        end

      end

      class Mock # :nodoc:all

        def get_shared_object(shared_object_url, &block)
          response = Excon::Response.new
          response.status = 200
          response.headers = {
            'Last-Modified'            => Date.today.rfc822,
            'Etag'                     => Fog::HP::Mock.etag,
            'Accept-Ranges'            => 'bytes',
            'Content-Type'             => "text/plain",
            'Content-Length'           => 11,
            'X-Trans-Id'               => "tx#{Fog::Mock.random_hex(32)}"
          }
          unless block_given?
            response.body = "This is a sample text.\n"
          else
            data = StringIO.new("This is a sample text.\n")
            remaining = data.length
            while remaining > 0
              chunk = data.read([remaining, Excon::CHUNK_SIZE].min)
              block.call(chunk)
              remaining -= Excon::CHUNK_SIZE
            end
          end
          response
        end

      end

    end
  end
end

Version data entries

61 entries across 61 versions & 6 rubygems

Version Path
fog-1.22.0 lib/fog/hp/requests/storage/get_shared_object.rb
fog-1.21.0 lib/fog/hp/requests/storage/get_shared_object.rb
fog-maestrodev-1.20.0.20140305101839 lib/fog/hp/requests/storage/get_shared_object.rb
fog-maestrodev-1.20.0.20140305101305 lib/fog/hp/requests/storage/get_shared_object.rb
fog-maestrodev-1.19.0.20140212012611 lib/fog/hp/requests/storage/get_shared_object.rb
fog-1.20.0 lib/fog/hp/requests/storage/get_shared_object.rb
fog-maestrodev-1.19.0.20140110004459 lib/fog/hp/requests/storage/get_shared_object.rb
fog-maestrodev-1.19.0.20140110003812 lib/fog/hp/requests/storage/get_shared_object.rb
fog-maestrodev-1.19.0.20140109202555 lib/fog/hp/requests/storage/get_shared_object.rb
fog-maestrodev-1.19.0.20140107192102 lib/fog/hp/requests/storage/get_shared_object.rb
fog-maestrodev-1.19.0.20140107142106 lib/fog/hp/requests/storage/get_shared_object.rb
fog-maestrodev-1.19.0.20131219203941 lib/fog/hp/requests/storage/get_shared_object.rb
fog-maestrodev-1.18.0.20131219193542 lib/fog/hp/requests/storage/get_shared_object.rb
fog-1.19.0 lib/fog/hp/requests/storage/get_shared_object.rb
fog-maestrodev-1.18.0.20131219033443 lib/fog/hp/requests/storage/get_shared_object.rb
fog-maestrodev-1.18.0.20131219032002 lib/fog/hp/requests/storage/get_shared_object.rb
fog-maestrodev-1.18.0.20131219030716 lib/fog/hp/requests/storage/get_shared_object.rb
fog-maestrodev-1.18.0.20131219022322 lib/fog/hp/requests/storage/get_shared_object.rb
fog-maestrodev-1.18.0.20131218202447 lib/fog/hp/requests/storage/get_shared_object.rb
fog-maestrodev-1.18.0.20131209091424 lib/fog/hp/requests/storage/get_shared_object.rb