Statistics
| Branch: | Revision:

root / asi-http-request-with-pithos / Classes / S3 / ASIS3BucketRequest.h @ be116d22

History | View | Annotate | Download (2.5 kB)

1 be116d22 Miltiadis Vasilakis
//
2 be116d22 Miltiadis Vasilakis
//  ASIS3BucketRequest.h
3 be116d22 Miltiadis Vasilakis
//  Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest
4 be116d22 Miltiadis Vasilakis
//
5 be116d22 Miltiadis Vasilakis
//  Created by Ben Copsey on 16/03/2010.
6 be116d22 Miltiadis Vasilakis
//  Copyright 2010 All-Seeing Interactive. All rights reserved.
7 be116d22 Miltiadis Vasilakis
//
8 be116d22 Miltiadis Vasilakis
//  Use this class to create buckets, fetch a list of their contents, and delete buckets
9 be116d22 Miltiadis Vasilakis
10 be116d22 Miltiadis Vasilakis
#import <Foundation/Foundation.h>
11 be116d22 Miltiadis Vasilakis
#import "ASIS3Request.h"
12 be116d22 Miltiadis Vasilakis
13 be116d22 Miltiadis Vasilakis
@class ASIS3BucketObject;
14 be116d22 Miltiadis Vasilakis
15 be116d22 Miltiadis Vasilakis
@interface ASIS3BucketRequest : ASIS3Request {
16 be116d22 Miltiadis Vasilakis
        
17 be116d22 Miltiadis Vasilakis
        // Name of the bucket to talk to
18 be116d22 Miltiadis Vasilakis
        NSString *bucket;
19 be116d22 Miltiadis Vasilakis
        
20 be116d22 Miltiadis Vasilakis
        // A parameter passed to S3 in the query string to tell it to return specialised information
21 be116d22 Miltiadis Vasilakis
        // Consult the S3 REST API documentation for more info
22 be116d22 Miltiadis Vasilakis
        NSString *subResource;
23 be116d22 Miltiadis Vasilakis
        
24 be116d22 Miltiadis Vasilakis
        // Options for filtering GET requests
25 be116d22 Miltiadis Vasilakis
        // See http://docs.amazonwebservices.com/AmazonS3/2006-03-01/index.html?RESTBucketGET.html
26 be116d22 Miltiadis Vasilakis
        NSString *prefix;
27 be116d22 Miltiadis Vasilakis
        NSString *marker;
28 be116d22 Miltiadis Vasilakis
        int maxResultCount;
29 be116d22 Miltiadis Vasilakis
        NSString *delimiter;
30 be116d22 Miltiadis Vasilakis
        
31 be116d22 Miltiadis Vasilakis
        // Internally used while parsing the response
32 be116d22 Miltiadis Vasilakis
        ASIS3BucketObject *currentObject;
33 be116d22 Miltiadis Vasilakis
        
34 be116d22 Miltiadis Vasilakis
        // Returns an array of ASIS3BucketObjects created from the XML response
35 be116d22 Miltiadis Vasilakis
        NSMutableArray *objects;        
36 be116d22 Miltiadis Vasilakis
        
37 be116d22 Miltiadis Vasilakis
        // Will be populated with a list of 'folders' when a delimiter is set
38 be116d22 Miltiadis Vasilakis
        NSMutableArray *commonPrefixes;
39 be116d22 Miltiadis Vasilakis
        
40 be116d22 Miltiadis Vasilakis
        // 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)
41 be116d22 Miltiadis Vasilakis
        BOOL isTruncated;
42 be116d22 Miltiadis Vasilakis
}
43 be116d22 Miltiadis Vasilakis
44 be116d22 Miltiadis Vasilakis
// Fetch a bucket
45 be116d22 Miltiadis Vasilakis
+ (id)requestWithBucket:(NSString *)bucket;
46 be116d22 Miltiadis Vasilakis
47 be116d22 Miltiadis Vasilakis
// Create a bucket request, passing a parameter in the query string
48 be116d22 Miltiadis Vasilakis
// You'll need to parse the response XML yourself
49 be116d22 Miltiadis Vasilakis
// Examples:
50 be116d22 Miltiadis Vasilakis
// Fetch ACL:
51 be116d22 Miltiadis Vasilakis
// ASIS3BucketRequest *request = [ASIS3BucketRequest requestWithBucket:@"mybucket" parameter:@"acl"];
52 be116d22 Miltiadis Vasilakis
// Fetch Location:
53 be116d22 Miltiadis Vasilakis
// ASIS3BucketRequest *request = [ASIS3BucketRequest requestWithBucket:@"mybucket" parameter:@"location"];
54 be116d22 Miltiadis Vasilakis
// See the S3 REST API docs for more information about the parameters you can pass
55 be116d22 Miltiadis Vasilakis
+ (id)requestWithBucket:(NSString *)bucket subResource:(NSString *)subResource;
56 be116d22 Miltiadis Vasilakis
57 be116d22 Miltiadis Vasilakis
// Use for creating new buckets
58 be116d22 Miltiadis Vasilakis
+ (id)PUTRequestWithBucket:(NSString *)bucket;
59 be116d22 Miltiadis Vasilakis
60 be116d22 Miltiadis Vasilakis
// Use for deleting buckets - they must be empty for this to succeed
61 be116d22 Miltiadis Vasilakis
+ (id)DELETERequestWithBucket:(NSString *)bucket;
62 be116d22 Miltiadis Vasilakis
63 be116d22 Miltiadis Vasilakis
@property (retain, nonatomic) NSString *bucket;
64 be116d22 Miltiadis Vasilakis
@property (retain, nonatomic) NSString *subResource;
65 be116d22 Miltiadis Vasilakis
@property (retain, nonatomic) NSString *prefix;
66 be116d22 Miltiadis Vasilakis
@property (retain, nonatomic) NSString *marker;
67 be116d22 Miltiadis Vasilakis
@property (assign, nonatomic) int maxResultCount;
68 be116d22 Miltiadis Vasilakis
@property (retain, nonatomic) NSString *delimiter;
69 be116d22 Miltiadis Vasilakis
@property (retain, readonly) NSMutableArray *objects;
70 be116d22 Miltiadis Vasilakis
@property (retain, readonly) NSMutableArray *commonPrefixes;
71 be116d22 Miltiadis Vasilakis
@property (assign, readonly) BOOL isTruncated;
72 be116d22 Miltiadis Vasilakis
@end