// // ASIS3BucketRequest.h // Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest // // Created by Ben Copsey on 16/03/2010. // Copyright 2010 All-Seeing Interactive. All rights reserved. // // Use this class to create buckets, fetch a list of their contents, and delete buckets #import #import "ASIS3Request.h" @class ASIS3BucketObject; @interface ASIS3BucketRequest : ASIS3Request { // Name of the bucket to talk to NSString *bucket; // A parameter passed to S3 in the query string to tell it to return specialised information // Consult the S3 REST API documentation for more info NSString *subResource; // Options for filtering GET requests // See http://docs.amazonwebservices.com/AmazonS3/2006-03-01/index.html?RESTBucketGET.html NSString *prefix; NSString *marker; int maxResultCount; NSString *delimiter; // Internally used while parsing the response ASIS3BucketObject *currentObject; // Returns an array of ASIS3BucketObjects created from the XML response NSMutableArray *objects; // Will be populated with a list of 'folders' when a delimiter is set NSMutableArray *commonPrefixes; // Will be true if this request did not return all the results matching the query (use maxResultCount to configure the number of results to return) BOOL isTruncated; } // Fetch a bucket + (id)requestWithBucket:(NSString *)bucket; // Create a bucket request, passing a parameter in the query string // You'll need to parse the response XML yourself // Examples: // Fetch ACL: // ASIS3BucketRequest *request = [ASIS3BucketRequest requestWithBucket:@"mybucket" parameter:@"acl"]; // Fetch Location: // ASIS3BucketRequest *request = [ASIS3BucketRequest requestWithBucket:@"mybucket" parameter:@"location"]; // See the S3 REST API docs for more information about the parameters you can pass + (id)requestWithBucket:(NSString *)bucket subResource:(NSString *)subResource; // Use for creating new buckets + (id)PUTRequestWithBucket:(NSString *)bucket; // Use for deleting buckets - they must be empty for this to succeed + (id)DELETERequestWithBucket:(NSString *)bucket; @property (retain, nonatomic) NSString *bucket; @property (retain, nonatomic) NSString *subResource; @property (retain, nonatomic) NSString *prefix; @property (retain, nonatomic) NSString *marker; @property (assign, nonatomic) int maxResultCount; @property (retain, nonatomic) NSString *delimiter; @property (retain, readonly) NSMutableArray *objects; @property (retain, readonly) NSMutableArray *commonPrefixes; @property (assign, readonly) BOOL isTruncated; @end