libs3  trunk
S3PutProperties Struct Reference

#include <libs3.h>

Public Attributes

const char * contentType
 
const char * md5
 
const char * cacheControl
 
const char * contentDispositionFilename
 
const char * contentEncoding
 
int64_t expires
 
S3CannedAcl cannedAcl
 
int metaDataCount
 
const S3NameValuemetaData
 

Detailed Description

S3PutProperties is the set of properties that may optionally be set by the user when putting objects to S3. Each field of this structure is optional and may or may not be present.

Member Data Documentation

const char* S3PutProperties::contentType

If present, this is the Content-Type that should be associated with the object. If not provided, S3 defaults to "binary/octet-stream".

const char* S3PutProperties::md5

If present, this provides the MD5 signature of the contents, and is used to validate the contents. This is highly recommended by Amazon but not required. Its format is as a base64-encoded MD5 sum.

const char* S3PutProperties::cacheControl

If present, this gives a Cache-Control header string to be supplied to HTTP clients which download this

const char* S3PutProperties::contentDispositionFilename

If present, this gives the filename to save the downloaded file to, whenever the object is downloaded via a web browser. This is only relevent for objects which are intended to be shared to users via web browsers and which is additionally intended to be downloaded rather than viewed.

const char* S3PutProperties::contentEncoding

If present, this identifies the content encoding of the object. This is only applicable to encoded (usually, compressed) content, and only relevent if the object is intended to be downloaded via a browser.

int64_t S3PutProperties::expires

If >= 0, this gives an expiration date for the content. This information is typically only delivered to users who download the content via a web browser.

S3CannedAcl S3PutProperties::cannedAcl

This identifies the "canned ACL" that should be used for this object. The default (0) gives only the owner of the object access to it.

int S3PutProperties::metaDataCount

This is the number of values in the metaData field.

const S3NameValue* S3PutProperties::metaData

These are the meta data to pass to S3. In each case, the name part of the Name - Value pair should not include any special S3 HTTP header prefix (i.e., should be of the form 'foo', NOT 'x-amz-meta-foo').


The documentation for this struct was generated from the following file: