ASIS3Request.h
1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//
// ASIS3Request.h
// Mac
//
// Created by Ben Copsey on 30/06/2009.
// Copyright 2009 All-Seeing Interactive. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ASIHTTPRequest.h"
@interface ASIS3Request : ASIHTTPRequest {
NSString *bucket;
NSString *path;
NSString *dateString;
NSString *mimeType;
NSString *accessKey;
NSString *secretAccessKey;
}
#pragma mark Constructors
+ (id)requestWithBucket:(NSString *)bucket path:(NSString *)path;
+ (id)PUTRequestForFile:(NSString *)filePath withBucket:(NSString *)bucket path:(NSString *)path;
+ (id)GETRequestWithBucket:(NSString *)bucket path:(NSString *)path;
+ (id)listRequestWithBucket:(NSString *)bucket prefix:(NSString *)prefix maxResults:(int)maxResults marker:(NSString *)marker;
+ (id)ACLRequestWithBucket:(NSString *)bucket path:(NSString *)path;
- (void)generateS3Headers;
- (void)setDate:(NSDate *)date;
+ (NSString *)mimeTypeForFileAtPath:(NSString *)path;
#pragma mark Shared access keys
+ (NSString *)sharedAccessKey;
+ (void)setSharedAccessKey:(NSString *)newAccessKey;
+ (NSString *)sharedSecretAccessKey;
+ (void)setSharedSecretAccessKey:(NSString *)newAccessKey;
#pragma mark S3 Authentication helpers
+ (NSData *)HMACSHA1withKey:(NSString *)key forString:(NSString *)string;
+ (NSString *)base64forData:(NSData *)theData;
@property (retain) NSString *bucket;
@property (retain) NSString *path;
@property (retain) NSString *dateString;
@property (retain) NSString *mimeType;
@property (retain) NSString *accessKey;
@property (retain) NSString *secretAccessKey;
@end