# File lib/s3/s3_interface.rb, line 746
    def get_acl_parse(bucket, key='', headers={})
      key               = Aws::Utils.blank?(key) ? '' : "/#{CGI::escape key}"
      req_hash          = generate_rest_request('GET', headers.merge(:url=>"#{bucket}#{key}?acl"))
      acl               = request_info(req_hash, S3AclParser.new(:logger => @logger))
      result            = {}
      result[:owner]    = acl[:owner]
      result[:grantees] = {}
      acl[:grantees].each do |grantee|
        key = grantee[:id] || grantee[:uri]
        if result[:grantees].key?(key)
          result[:grantees][key][:permissions] << grantee[:permissions]
        else
          result[:grantees][key] =
              {:display_name => grantee[:display_name] || grantee[:uri].to_s[/[^\/]*$/],
               :permissions  => grantee[:permissions].lines.to_a,
               :attributes   => grantee[:attributes]}
        end
      end
      result
    rescue
      on_exception
    end