root / asi-http-request-with-pithos / Classes / Pithos / ASIPithos.m @ 097cb831
History | View | Annotate | Download (2.9 kB)
1 | 2fb7b1fc | Miltiadis Vasilakis | // ASIPithos.m |
---|---|---|---|
2 | 2fb7b1fc | Miltiadis Vasilakis | // pithos-macos |
3 | 2fb7b1fc | Miltiadis Vasilakis | // |
4 | 2fb7b1fc | Miltiadis Vasilakis | // Copyright 2012 GRNET S.A. All rights reserved. |
5 | 2fb7b1fc | Miltiadis Vasilakis | // |
6 | 2fb7b1fc | Miltiadis Vasilakis | // Redistribution and use in source and binary forms, with or |
7 | 2fb7b1fc | Miltiadis Vasilakis | // without modification, are permitted provided that the following |
8 | 2fb7b1fc | Miltiadis Vasilakis | // conditions are met: |
9 | 2fb7b1fc | Miltiadis Vasilakis | // |
10 | 2fb7b1fc | Miltiadis Vasilakis | // 1. Redistributions of source code must retain the above |
11 | 2fb7b1fc | Miltiadis Vasilakis | // copyright notice, this list of conditions and the following |
12 | 2fb7b1fc | Miltiadis Vasilakis | // disclaimer. |
13 | 2fb7b1fc | Miltiadis Vasilakis | // |
14 | 2fb7b1fc | Miltiadis Vasilakis | // 2. Redistributions in binary form must reproduce the above |
15 | 2fb7b1fc | Miltiadis Vasilakis | // copyright notice, this list of conditions and the following |
16 | 2fb7b1fc | Miltiadis Vasilakis | // disclaimer in the documentation and/or other materials |
17 | 2fb7b1fc | Miltiadis Vasilakis | // provided with the distribution. |
18 | 2fb7b1fc | Miltiadis Vasilakis | // |
19 | 2fb7b1fc | Miltiadis Vasilakis | // THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS |
20 | 2fb7b1fc | Miltiadis Vasilakis | // OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
21 | 2fb7b1fc | Miltiadis Vasilakis | // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
22 | 2fb7b1fc | Miltiadis Vasilakis | // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR |
23 | 2fb7b1fc | Miltiadis Vasilakis | // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
24 | 2fb7b1fc | Miltiadis Vasilakis | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
25 | 2fb7b1fc | Miltiadis Vasilakis | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
26 | 2fb7b1fc | Miltiadis Vasilakis | // USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
27 | 2fb7b1fc | Miltiadis Vasilakis | // AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
28 | 2fb7b1fc | Miltiadis Vasilakis | // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
29 | 2fb7b1fc | Miltiadis Vasilakis | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
30 | 2fb7b1fc | Miltiadis Vasilakis | // POSSIBILITY OF SUCH DAMAGE. |
31 | 2fb7b1fc | Miltiadis Vasilakis | // |
32 | 2fb7b1fc | Miltiadis Vasilakis | // The views and conclusions contained in the software and |
33 | 2fb7b1fc | Miltiadis Vasilakis | // documentation are those of the authors and should not be |
34 | 2fb7b1fc | Miltiadis Vasilakis | // interpreted as representing official policies, either expressed |
35 | 2fb7b1fc | Miltiadis Vasilakis | // or implied, of GRNET S.A. |
36 | 2fb7b1fc | Miltiadis Vasilakis | |
37 | 2fb7b1fc | Miltiadis Vasilakis | #import "ASIPithos.h" |
38 | 2fb7b1fc | Miltiadis Vasilakis | #import "ASIPithosRequest.h" |
39 | 2fb7b1fc | Miltiadis Vasilakis | |
40 | 2fb7b1fc | Miltiadis Vasilakis | @implementation ASIPithos |
41 | 2fb7b1fc | Miltiadis Vasilakis | @synthesize authURL, authUser, authKey, storageURLPrefix, storageURL, authToken, publicURLPrefix; |
42 | 2fb7b1fc | Miltiadis Vasilakis | |
43 | 2fb7b1fc | Miltiadis Vasilakis | #pragma mark - Object Lifecycle |
44 | 2fb7b1fc | Miltiadis Vasilakis | |
45 | 2fb7b1fc | Miltiadis Vasilakis | + (id)pithos { |
46 | 2fb7b1fc | Miltiadis Vasilakis | ASIPithos *pithos = [[[self alloc] init] autorelease]; |
47 | 2fb7b1fc | Miltiadis Vasilakis | return pithos; |
48 | 2fb7b1fc | Miltiadis Vasilakis | } |
49 | 2fb7b1fc | Miltiadis Vasilakis | |
50 | 2fb7b1fc | Miltiadis Vasilakis | - (NSString *)description { |
51 | 2fb7b1fc | Miltiadis Vasilakis | return [NSString stringWithFormat:@"authURL: %@, authUser: %@, authKey: %@, storageURLPrefix: %@, storageURL: %@, authToken: %@, publicURLPrefix: %@", |
52 | 2fb7b1fc | Miltiadis Vasilakis | authURL, authUser, authKey, storageURLPrefix, storageURL, authToken, publicURLPrefix]; |
53 | 2fb7b1fc | Miltiadis Vasilakis | } |
54 | 2fb7b1fc | Miltiadis Vasilakis | |
55 | 2fb7b1fc | Miltiadis Vasilakis | - (void) dealloc { |
56 | 2fb7b1fc | Miltiadis Vasilakis | [publicURLPrefix release]; |
57 | 2fb7b1fc | Miltiadis Vasilakis | [authToken release]; |
58 | 2fb7b1fc | Miltiadis Vasilakis | [storageURL release]; |
59 | 2fb7b1fc | Miltiadis Vasilakis | [storageURLPrefix release]; |
60 | 2fb7b1fc | Miltiadis Vasilakis | [authKey release]; |
61 | 2fb7b1fc | Miltiadis Vasilakis | [authUser release]; |
62 | 2fb7b1fc | Miltiadis Vasilakis | [authURL release]; |
63 | 097cb831 | Miltiadis Vasilakis | [super dealloc]; |
64 | 2fb7b1fc | Miltiadis Vasilakis | } |
65 | 2fb7b1fc | Miltiadis Vasilakis | |
66 | 2fb7b1fc | Miltiadis Vasilakis | #pragma mark - Properties |
67 | 2fb7b1fc | Miltiadis Vasilakis | |
68 | 2fb7b1fc | Miltiadis Vasilakis | - (NSString *)storageURL { |
69 | 2fb7b1fc | Miltiadis Vasilakis | if (storageURL) |
70 | 2fb7b1fc | Miltiadis Vasilakis | return storageURL; |
71 | 2fb7b1fc | Miltiadis Vasilakis | else if (storageURLPrefix && authUser) |
72 | 2fb7b1fc | Miltiadis Vasilakis | return [NSString stringWithFormat:@"%@/%@", storageURLPrefix, [ASIPithosRequest encodeToPercentEscape:authUser]]; |
73 | 2fb7b1fc | Miltiadis Vasilakis | return nil; |
74 | 2fb7b1fc | Miltiadis Vasilakis | } |
75 | 2fb7b1fc | Miltiadis Vasilakis | |
76 | 2fb7b1fc | Miltiadis Vasilakis | - (NSString *)storageURLWithAuthUser:(NSString *)anAuthUser { |
77 | 2fb7b1fc | Miltiadis Vasilakis | if (storageURLPrefix) |
78 | 2fb7b1fc | Miltiadis Vasilakis | return [NSString stringWithFormat:@"%@/%@", storageURLPrefix, [ASIPithosRequest encodeToPercentEscape:anAuthUser]]; |
79 | 2fb7b1fc | Miltiadis Vasilakis | return nil; |
80 | 2fb7b1fc | Miltiadis Vasilakis | } |
81 | 2fb7b1fc | Miltiadis Vasilakis | |
82 | 2fb7b1fc | Miltiadis Vasilakis | @end |