forked from jverkoey/nimbus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
_a_s_i_s3_object_request_8h_source.html
176 lines (158 loc) · 13.3 KB
/
_a_s_i_s3_object_request_8h_source.html
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Nimbus: /Users/featherless/workbench/ios/nimbus/src/ASIHTTPRequest/src_optional/S3/ASIS3ObjectRequest.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-24278774-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<div id="page">
<div style="position:relative">
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<a style="float: right;margin-right:20px;margin-top:20px" href='http://www.pledgie.com/campaigns/15519'><img alt='Click here to support Nimbus development and make a donation at www.pledgie.com !' src='http://www.pledgie.com/campaigns/15519.png?skin_name=chrome' border='0' /></a>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">Nimbus
 <span id="projectnumber">0.6.0 - <a href="http://github.com/jverkoey/nimbus">Nimbus is proudly hosted on Github</a></span>
</div>
<div id="projectbrief">An iOS framework whose growth is bounded by O(documentation).</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.4-20110629 -->
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
initNavTree('_a_s_i_s3_object_request_8h.html','');
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle">
<div class="title">/Users/featherless/workbench/ios/nimbus/src/ASIHTTPRequest/src_optional/S3/ASIS3ObjectRequest.h</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//</span>
<a name="l00002"></a>00002 <span class="comment">// ASIS3ObjectRequest.h</span>
<a name="l00003"></a>00003 <span class="comment">// Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest</span>
<a name="l00004"></a>00004 <span class="comment">//</span>
<a name="l00005"></a>00005 <span class="comment">// Created by Ben Copsey on 16/03/2010.</span>
<a name="l00006"></a>00006 <span class="comment">// Copyright 2010 All-Seeing Interactive. All rights reserved.</span>
<a name="l00007"></a>00007 <span class="comment">//</span>
<a name="l00008"></a>00008 <span class="comment">// Use an ASIS3ObjectRequest to fetch, upload, copy and delete objects on Amazon S3</span>
<a name="l00009"></a>00009
<a name="l00010"></a>00010 <span class="preprocessor">#import <Foundation/Foundation.h></span>
<a name="l00011"></a>00011 <span class="preprocessor">#import "ASIS3Request.h"</span>
<a name="l00012"></a>00012
<a name="l00013"></a>00013 <span class="comment">// Constants for storage class</span>
<a name="l00014"></a>00014 <span class="keyword">extern</span> <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *<span class="keyword">const</span> ASIS3StorageClassStandard;
<a name="l00015"></a>00015 <span class="keyword">extern</span> <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *<span class="keyword">const</span> ASIS3StorageClassReducedRedundancy;
<a name="l00016"></a>00016
<a name="l00017"></a>00017 <span class="keyword">@interface </span>ASIS3ObjectRequest : ASIS3Request {
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="comment">// Name of the bucket to talk to</span>
<a name="l00020"></a>00020 <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *bucket;
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="comment">// Key of the resource you want to access on S3</span>
<a name="l00023"></a>00023 <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *key;
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="comment">// The bucket + path of the object to be copied (used with COPYRequestFromBucket:path:toBucket:path:)</span>
<a name="l00026"></a>00026 <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *sourceBucket;
<a name="l00027"></a>00027 <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *sourceKey;
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="comment">// The mime type of the content for PUT requests</span>
<a name="l00030"></a>00030 <span class="comment">// Set this if having the correct mime type returned to you when you GET the data is important (eg it will be served by a web-server)</span>
<a name="l00031"></a>00031 <span class="comment">// Can be autodetected when PUTing a file from disk, will default to 'application/octet-stream' when PUTing data</span>
<a name="l00032"></a>00032 <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *mimeType;
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="comment">// Set this to specify you want to work with a particular subresource (eg an acl for that resource)</span>
<a name="l00035"></a>00035 <span class="comment">// See requestWithBucket:key:subResource:, below.</span>
<a name="l00036"></a>00036 <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a>* subResource;
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="comment">// The storage class to be used for PUT requests</span>
<a name="l00039"></a>00039 <span class="comment">// Set this to ASIS3StorageClassReducedRedundancy to save money on storage, at (presumably) a slightly higher risk you will lose the data</span>
<a name="l00040"></a>00040 <span class="comment">// If this is not set, no x-amz-storage-class header will be sent to S3, and their default will be used</span>
<a name="l00041"></a>00041 <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *storageClass;
<a name="l00042"></a>00042 }
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="comment">// Create a request, building an appropriate url</span>
<a name="l00045"></a>00045 + (id)requestWithBucket:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)bucket key:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)key;
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="comment">// Create a request for an object, passing a parameter in the query string</span>
<a name="l00048"></a>00048 <span class="comment">// You'll need to parse the response XML yourself</span>
<a name="l00049"></a>00049 <span class="comment">// Examples:</span>
<a name="l00050"></a>00050 <span class="comment">// Fetch ACL:</span>
<a name="l00051"></a>00051 <span class="comment">// ASIS3ObjectRequest *request = [ASIS3ObjectRequest requestWithBucket:@"mybucket" key:@"my-key" parameter:@"acl"];</span>
<a name="l00052"></a>00052 <span class="comment">// Get object torret:</span>
<a name="l00053"></a>00053 <span class="comment">// ASIS3ObjectRequest *request = [ASIS3ObjectRequest requestWithBucket:@"mybucket" key:@"my-key" parameter:@"torrent"];</span>
<a name="l00054"></a>00054 <span class="comment">// See the S3 REST API docs for more information about the parameters you can pass</span>
<a name="l00055"></a>00055 + (id)requestWithBucket:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)bucket key:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)key subResource:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)subResource;
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="comment">// Create a PUT request using the file at filePath as the body</span>
<a name="l00058"></a>00058 + (id)PUTRequestForFile:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)filePath withBucket:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)bucket key:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)key;
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="comment">// Create a PUT request using the supplied NSData as the body (set the mime-type manually with setMimeType: if necessary)</span>
<a name="l00061"></a>00061 + (id)PUTRequestForData:(<a class="code" href="class_n_s_data.html" title="For hashing raw data.">NSData</a> *)data withBucket:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)bucket key:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)key;
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="comment">// Create a DELETE request for the object at path</span>
<a name="l00064"></a>00064 + (id)DELETERequestWithBucket:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)bucket key:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)key;
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="comment">// Create a PUT request to copy an object from one location to another</span>
<a name="l00067"></a>00067 <span class="comment">// Clang will complain because it thinks this method should return an object with +1 retain :(</span>
<a name="l00068"></a>00068 + (id)COPYRequestFromBucket:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)sourceBucket key:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)sourceKey toBucket:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)bucket key:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)key;
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="comment">// Creates a HEAD request for the object at path</span>
<a name="l00071"></a>00071 + (id)HEADRequestWithBucket:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)bucket key:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)key;
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="keyword">@property</span> (retain, nonatomic) <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *bucket;
<a name="l00074"></a>00074 <span class="keyword">@property</span> (retain, nonatomic) <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *key;
<a name="l00075"></a>00075 <span class="keyword">@property</span> (retain, nonatomic) <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *sourceBucket;
<a name="l00076"></a>00076 <span class="keyword">@property</span> (retain, nonatomic) <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *sourceKey;
<a name="l00077"></a>00077 <span class="keyword">@property</span> (retain, nonatomic) <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *mimeType;
<a name="l00078"></a>00078 <span class="keyword">@property</span> (retain, nonatomic) <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *subResource;
<a name="l00079"></a>00079 <span class="keyword">@property</span> (retain, nonatomic) <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *storageClass;
<a name="l00080"></a>00080 <span class="keyword">@end</span>
</pre></div></div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>ASIS3ObjectRequest.h</b> </li>
</div><!-- .fixedwidth -->
<span class="footer">Generated for Nimbus by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4-20110629 </span>
</ul>
</div>
</div> <!-- page -->
</body>
</html>