Statistics
| Branch: | Revision:

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

History | View | Annotate | Download (2.7 kB)

1
//  ASIPithos.m
2
//  pithos-macos
3
//
4
// Copyright 2012 GRNET S.A. All rights reserved.
5
//
6
// Redistribution and use in source and binary forms, with or
7
// without modification, are permitted provided that the following
8
// conditions are met:
9
// 
10
//   1. Redistributions of source code must retain the above
11
//      copyright notice, this list of conditions and the following
12
//      disclaimer.
13
// 
14
//   2. Redistributions in binary form must reproduce the above
15
//      copyright notice, this list of conditions and the following
16
//      disclaimer in the documentation and/or other materials
17
//      provided with the distribution.
18
// 
19
// THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
20
// OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
23
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
26
// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27
// AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
29
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30
// POSSIBILITY OF SUCH DAMAGE.
31
// 
32
// The views and conclusions contained in the software and
33
// documentation are those of the authors and should not be
34
// interpreted as representing official policies, either expressed
35
// or implied, of GRNET S.A.
36

    
37
#import "ASIPithos.h"
38
#import "ASIPithosRequest.h"
39

    
40
@implementation ASIPithos
41
@synthesize authURL, authUser, authKey, storageURLPrefix, storageURL, authToken, publicURLPrefix, userCatalogURL;
42

    
43
#pragma mark - Object Lifecycle
44

    
45
+ (id)pithos {
46
	ASIPithos *pithos = [[self alloc] init];
47
	return pithos;
48
}
49

    
50
- (NSString *)description {
51
    return [NSString stringWithFormat:@"authURL: %@, authUser: %@, authKey: %@, storageURLPrefix: %@, storageURL: %@, authToken: %@, publicURLPrefix: %@, userCatalogURL: %@",
52
            authURL, authUser, authKey, storageURLPrefix, storageURL, authToken, publicURLPrefix, userCatalogURL];
53
}
54

    
55

    
56
#pragma mark - Properties
57

    
58
- (NSString *)storageURL {
59
    if (storageURL)
60
        return storageURL;
61
    else if (storageURLPrefix && authUser)
62
        return [NSString stringWithFormat:@"%@/%@", storageURLPrefix, [ASIPithosRequest encodeToPercentEscape:authUser]];
63
    return nil;
64
}
65

    
66
- (NSString *)storageURLWithAuthUser:(NSString *)anAuthUser {
67
    if (storageURLPrefix)
68
        return [NSString stringWithFormat:@"%@/%@", storageURLPrefix, [ASIPithosRequest encodeToPercentEscape:anAuthUser]];
69
    return nil;
70
}
71

    
72
@end