File: head_bucket.rb

package info (click to toggle)
ruby-fog-aws 3.3.0-5
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 7,816 kB
  • sloc: ruby: 68,587; makefile: 6
file content (38 lines) | stat: -rw-r--r-- 1,127 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
module Fog
  module AWS
    class Storage
      class Real
        # Get headers for an S3 bucket, used to verify if it exists and if you have permission to access it
        #
        # @param bucket_name [String] Name of bucket to read from
        #
        # @return [Excon::Response] 200 response implies it exists, 404 does not exist, 403 no permissions
        #   * body [String] Empty
        #   * headers [Hash]:
        #     * Content-Type [String] - MIME type of object
        #
        # @see http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketHEAD.html
        #
        def head_bucket(bucket_name)
          unless bucket_name
            raise ArgumentError.new('bucket_name is required')
          end
          request({
            :expects    => 200,
            :bucket_name => bucket_name,
            :idempotent => true,
            :method     => 'HEAD',
          })
        end
      end

      class Mock # :nodoc:all
        def head_bucket(bucket_name)
          response = get_bucket(bucket_name)
          response.body = nil
          response
        end
      end
    end
  end
end