# File lib/aws/s3/presigned_post.rb, line 195
      def initialize(bucket, opts = {})
        @bucket = bucket
        @key = opts[:key]
        @secure = (opts[:secure] != false)
        @fields = {}
        SPECIAL_FIELDS.each do |name|
          @fields[name] = opts[name] if opts.key?(name)
        end
        @metadata = opts[:metadata] || {}
        @content_length = range_value(opts[:content_length])
        @conditions = opts[:conditions] || {}
        @ignored_fields = [opts[:ignore]].flatten.compact
        @expires = opts[:expires]

        super

        @fields[:server_side_encryption] =
          config.s3_server_side_encryption unless
          @fields.key?(:server_side_encryption)
        @fields.delete(:server_side_encryption) if
          @fields[:server_side_encryption].nil?
      end