Sha256: f7c248631d878698e8ae998e52816c37963c2bd2720d37ab2f09ddb33dfa74d5

Contents?: true

Size: 1.81 KB

Versions: 28

Compression:

Stored size: 1.81 KB

Contents

module Fog
  module Storage
    class AWS
      class Real

        # Get a hash of hidden fields for form uploading to S3, in the form {:field_name => :field_value}
        # Form should look like: <form action="http://#{bucket_name}.s3.amazonaws.com/" method="post" enctype="multipart/form-data">
        # These hidden fields should then appear, followed by a field named 'file' which is either a textarea or file input.
        #
        # ==== Parameters
        # * options<~Hash>:
        #   * acl<~String> - access control list, in ['private', 'public-read', 'public-read-write', 'authenticated-read', 'bucket-owner-read', 'bucket-owner-full-control']
        #   * Cache-Control - same as REST header
        #   * Content-Type - same as REST header
        #   * Content-Disposition - same as REST header
        #   * Content-Encoding - same as REST header
        #   * Expires - same as REST header
        #   * key - key for object, set to '${filename}' to use filename provided by user
        #   * policy - security policy for upload
        #   * success_action_redirect - url to redirct to upon success
        #   * success_action_status - status code to return on success, in [200, 201, 204]
        #   * x-amz-security-token - devpay security token
        #   * x-amz-meta-... - meta data tags
        #
        # ==== See Also
        # http://docs.amazonwebservices.com/AmazonS3/latest/dev/HTTPPOSTForms.html

        def post_object_hidden_fields(options = {})
          if options['policy']
            options['policy'] = Base64.encode64(MultiJson.encode(options['policy'])).gsub("\n", "")
            options['AWSAccessKeyId'] = @aws_access_key_id
            options['Signature'] = Base64.encode64(@hmac.sign(options['policy'])).gsub("\n", "")
          end
          options
        end

      end
    end
  end
end

Version data entries

28 entries across 28 versions & 7 rubygems

Version Path
brightbox-cli-0.18.1 lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/post_object_hidden_fields.rb
michiels-fog-1.3.1 lib/fog/aws/requests/storage/post_object_hidden_fields.rb
ftl-0.2.0 vendor/bundle/gems/fog-1.3.1/lib/fog/aws/requests/storage/post_object_hidden_fields.rb
brightbox-cli-0.18.0 lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/post_object_hidden_fields.rb
fog-1.3.1 lib/fog/aws/requests/storage/post_object_hidden_fields.rb
fog-1.3.0 lib/fog/aws/requests/storage/post_object_hidden_fields.rb
brightbox-cli-0.17.5 lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/post_object_hidden_fields.rb
fog-1.2.0 lib/fog/aws/requests/storage/post_object_hidden_fields.rb
ktheory-fog-1.1.2 lib/fog/aws/requests/storage/post_object_hidden_fields.rb
brightbox-cli-0.17.4 lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/post_object_hidden_fields.rb
brightbox-cli-0.17.3 lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/post_object_hidden_fields.rb
brightbox-cli-0.17.2 lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/post_object_hidden_fields.rb
brightbox-cli-0.17.1 lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/post_object_hidden_fields.rb
brightbox-cli-0.17.0 lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/post_object_hidden_fields.rb
fog-1.1.2 lib/fog/aws/requests/storage/post_object_hidden_fields.rb
fog_tractical-1.1.4 lib/fog/aws/requests/storage/post_object_hidden_fields.rb
fog_tractical-1.1.3 lib/fog/aws/requests/storage/post_object_hidden_fields.rb
brightbox-cli-0.16.0 lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/post_object_hidden_fields.rb
fog-1.1.1 lib/fog/aws/requests/storage/post_object_hidden_fields.rb
fog-1.1.0 lib/fog/aws/requests/storage/post_object_hidden_fields.rb