Lets you specify conditions on a field. See {AWS::S3::PresignedPost#where} for usage examples.
@private
# File lib/aws/s3/presigned_post.rb, line 239 def initialize(post, field) @post = post @field = field end
Specifies that the value of the field must be in the given range. This may
only be used to constrain the :content_length
field, e.g.
presigned_post.with(:conent_length).in(1..4)
.
# File lib/aws/s3/presigned_post.rb, line 277 def in(range) @post.refine(:content_length => range) end
Specifies that the value of the field must equal the provided value.
# File lib/aws/s3/presigned_post.rb, line 246 def is(value) if @field == :content_length self.in(value) else @post.with_equality_condition(@field, value) end end
Specifies that the value of the field must begin with the provided value. If you are specifying a condition on the “key” field, note that this check takes place after the +${filename}+ variable is expanded. This is only valid for the following fields:
:key
:cache_control
:content_type
:content_disposition
:content_encoding
:expires_header
:acl
:success_action_redirect
metadata fields (see {where_metadata})
# File lib/aws/s3/presigned_post.rb, line 269 def starts_with(prefix) @post.with_prefix_condition(@field, prefix) end