Statistics
| Branch: | Revision:

root / asi-http-request-with-pithos / Classes / Pithos / ASIPithos.m @ 3ebe9884

History | View | Annotate | Download (2.7 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 3ebe9884 Miltiadis Vasilakis
@synthesize authURL, authUser, authKey, storageURLPrefix, storageURL, authToken, publicURLPrefix, userCatalogURL;
42 2fb7b1fc Miltiadis Vasilakis
43 2fb7b1fc Miltiadis Vasilakis
#pragma mark - Object Lifecycle
44 2fb7b1fc Miltiadis Vasilakis
45 2fb7b1fc Miltiadis Vasilakis
+ (id)pithos {
46 153edb5e Miltiadis Vasilakis
	ASIPithos *pithos = [[self alloc] init];
47 2fb7b1fc Miltiadis Vasilakis
	return pithos;
48 2fb7b1fc Miltiadis Vasilakis
}
49 2fb7b1fc Miltiadis Vasilakis
50 2fb7b1fc Miltiadis Vasilakis
- (NSString *)description {
51 3ebe9884 Miltiadis Vasilakis
    return [NSString stringWithFormat:@"authURL: %@, authUser: %@, authKey: %@, storageURLPrefix: %@, storageURL: %@, authToken: %@, publicURLPrefix: %@, userCatalogURL: %@",
52 3ebe9884 Miltiadis Vasilakis
            authURL, authUser, authKey, storageURLPrefix, storageURL, authToken, publicURLPrefix, userCatalogURL];
53 2fb7b1fc Miltiadis Vasilakis
}
54 2fb7b1fc Miltiadis Vasilakis
55 2fb7b1fc Miltiadis Vasilakis
56 2fb7b1fc Miltiadis Vasilakis
#pragma mark - Properties
57 2fb7b1fc Miltiadis Vasilakis
58 2fb7b1fc Miltiadis Vasilakis
- (NSString *)storageURL {
59 2fb7b1fc Miltiadis Vasilakis
    if (storageURL)
60 2fb7b1fc Miltiadis Vasilakis
        return storageURL;
61 2fb7b1fc Miltiadis Vasilakis
    else if (storageURLPrefix && authUser)
62 2fb7b1fc Miltiadis Vasilakis
        return [NSString stringWithFormat:@"%@/%@", storageURLPrefix, [ASIPithosRequest encodeToPercentEscape:authUser]];
63 2fb7b1fc Miltiadis Vasilakis
    return nil;
64 2fb7b1fc Miltiadis Vasilakis
}
65 2fb7b1fc Miltiadis Vasilakis
66 2fb7b1fc Miltiadis Vasilakis
- (NSString *)storageURLWithAuthUser:(NSString *)anAuthUser {
67 2fb7b1fc Miltiadis Vasilakis
    if (storageURLPrefix)
68 2fb7b1fc Miltiadis Vasilakis
        return [NSString stringWithFormat:@"%@/%@", storageURLPrefix, [ASIPithosRequest encodeToPercentEscape:anAuthUser]];
69 2fb7b1fc Miltiadis Vasilakis
    return nil;
70 2fb7b1fc Miltiadis Vasilakis
}
71 2fb7b1fc Miltiadis Vasilakis
72 2fb7b1fc Miltiadis Vasilakis
@end