Revision b9ebc0f4

b/asi-http-request-with-pithos/Classes/Pithos/ASIPithosContainerRequest.h
133 133
                                               policy:(NSDictionary *)policy 
134 134
                                             metadata:(NSDictionary *)metadata 
135 135
                                               update:(BOOL)update;
136
// POST storageURL/container?[update=] (update data from ASIPithosObject with data)
137
+ (id)updateContainerDataRequestWithContainerName:(NSString *)containerName 
138
                                           policy:(NSDictionary *)policy 
139
                                         metadata:(NSDictionary *)metadata 
140
                                           update:(BOOL)update
141
                                           object:(ASIPithosObject *)object;
142
// POST storageURL/container?[update=] (update data from NSData)
143
+ (id)updateContainerDataRequestWithContainerName:(NSString *)containerName 
144
                                           policy:(NSDictionary *)policy 
145
                                         metadata:(NSDictionary *)metadata 
146
                                           update:(BOOL)update
147
                                             data:(NSData *)data;
148
// POST storageURL/container?[update=] (update data from file)
149
+ (id)updateContainerDataRequestWithContainerName:(NSString *)containerName 
150
                                           policy:(NSDictionary *)policy 
151
                                         metadata:(NSDictionary *)metadata 
152
                                           update:(BOOL)update
153
                                             file:(NSString *)filePath;
136 154

  
137 155
// DELETE storageURL/container
138 156
+ (id)deleteContainerRequestWithContainerName:(NSString *)containerName;
b/asi-http-request-with-pithos/Classes/Pithos/ASIPithosContainerRequest.m
338 338
	return request;
339 339
}
340 340

  
341
// POST storageURL/container?[update=] (update data from ASIPithosObject with data)
342
+ (id)updateContainerDataRequestWithContainerName:(NSString *)containerName 
343
                                           policy:(NSDictionary *)policy 
344
                                         metadata:(NSDictionary *)metadata 
345
                                           update:(BOOL)update
346
                                           object:(ASIPithosObject *)object {
347
    return [self updateContainerDataRequestWithContainerName:containerName 
348
                                                      policy:policy 
349
                                                    metadata:metadata 
350
                                                      update:update 
351
                                                        data:object.data];
352
}
353

  
354
// POST storageURL/container?[update=] (update data from NSData)
355
+ (id)updateContainerDataRequestWithContainerName:(NSString *)containerName 
356
                                           policy:(NSDictionary *)policy 
357
                                         metadata:(NSDictionary *)metadata 
358
                                           update:(BOOL)update
359
                                             data:(NSData *)data {
360
    ASIPithosContainerRequest *request = [self updateContainerMetadataRequestWithContainerName:containerName 
361
                                                                                        policy:policy 
362
                                                                                      metadata:metadata 
363
                                                                                        update:update];    
364
    [request addRequestHeader:@"Content-Type" value:@"application/octet-stream"];
365
	[request appendPostData:data];
366
	return request;
367
}
368

  
369
// POST storageURL/container?[update=] (update data from file)
370
+ (id)updateContainerDataRequestWithContainerName:(NSString *)containerName 
371
                                           policy:(NSDictionary *)policy 
372
                                         metadata:(NSDictionary *)metadata 
373
                                           update:(BOOL)update
374
                                             file:(NSString *)filePath {
375
    ASIPithosContainerRequest *request = [self updateContainerMetadataRequestWithContainerName:containerName 
376
                                                                                        policy:policy 
377
                                                                                      metadata:metadata 
378
                                                                                        update:update];    
379
    [request addRequestHeader:@"Content-Type" value:@"application/octet-stream"];
380
	request.shouldStreamPostDataFromDisk = YES;
381
    request.postBodyFilePath = filePath;
382
	return request;
383
}
384

  
341 385
#pragma mark -
342 386
#pragma mark DELETE
343 387

  
b/asi-http-request-with-pithos/Classes/Pithos/ASIPithosObjectRequest.h
627 627
                                         bytes:(NSNumber *)bytes 
628 628
                           sourceContainerName:(NSString *)sourceContainerName 
629 629
                              sourceObjectName:(NSString *)sourceObjectName 
630
                                 sourceAccount:(NSString *)sourceAccount
630 631
                                 sourceVersion:(NSString *)sourceVersion;
631 632
// POST storageURL/container/object?[update=] (update data from source) [If-Match]
632 633
+ (id)updateObjectDataRequestWithContainerName:(NSString *)containerName objectName:(NSString *)objectName 
......
641 642
                                         bytes:(NSNumber *)bytes 
642 643
                           sourceContainerName:(NSString *)sourceContainerName 
643 644
                              sourceObjectName:(NSString *)sourceObjectName 
645
                                 sourceAccount:(NSString *)sourceAccount
644 646
                                 sourceVersion:(NSString *)sourceVersion 
645
                                   ifMatch:(NSString *)matchETag;
647
                                       ifMatch:(NSString *)matchETag;
646 648
// POST storageURL/container/object?[update=] (update data from source) [If-None-Match]
647 649
+ (id)updateObjectDataRequestWithContainerName:(NSString *)containerName objectName:(NSString *)objectName 
648 650
                               contentEncoding:(NSString *)contentEncoding 
......
656 658
                                         bytes:(NSNumber *)bytes 
657 659
                           sourceContainerName:(NSString *)sourceContainerName 
658 660
                              sourceObjectName:(NSString *)sourceObjectName 
661
                                 sourceAccount:(NSString *)sourceAccount
659 662
                                 sourceVersion:(NSString *)sourceVersion 
660 663
                                   ifNoneMatch:(NSString *)matchETag;
661 664

  
b/asi-http-request-with-pithos/Classes/Pithos/ASIPithosObjectRequest.m
1484 1484
                                         bytes:(NSNumber *)bytes 
1485 1485
                           sourceContainerName:(NSString *)sourceContainerName 
1486 1486
                              sourceObjectName:(NSString *)sourceObjectName 
1487
                                 sourceAccount:(NSString *)sourceAccount
1487 1488
                                 sourceVersion:(NSString *)sourceVersion {
1488 1489
    NSString *queryString = nil;
1489 1490
    if (update)
......
1502 1503
    if (bytes)
1503 1504
        [request addRequestHeader:@"X-Object-Bytes" value:[NSString stringWithFormat:@"%lu", [bytes unsignedLongValue]]];
1504 1505
    [request addRequestHeader:@"X-Source-Object" value:[NSString stringWithFormat:@"/%@/%@", sourceContainerName, sourceObjectName]];
1506
    if (sourceAccount)
1507
        [request addRequestHeader:@"X-Source-Account" value:sourceAccount];
1505 1508
    if (sourceVersion)
1506 1509
        [request addRequestHeader:@"X-Source-Version" value:sourceVersion];
1507 1510
	return request;
......
1521 1524
                                         bytes:(NSNumber *)bytes 
1522 1525
                           sourceContainerName:(NSString *)sourceContainerName 
1523 1526
                              sourceObjectName:(NSString *)sourceObjectName 
1527
                                 sourceAccount:(NSString *)sourceAccount
1524 1528
                                 sourceVersion:(NSString *)sourceVersion 
1525 1529
                                       ifMatch:(NSString *)matchETag {
1526 1530
    ASIPithosObjectRequest *request = [self updateObjectDataRequestWithContainerName:containerName objectName:objectName 
......
1535 1539
                                                                               bytes:bytes 
1536 1540
                                                                 sourceContainerName:sourceContainerName 
1537 1541
                                                                    sourceObjectName:sourceObjectName 
1542
                                                                       sourceAccount:sourceAccount 
1538 1543
                                                                       sourceVersion:sourceVersion];
1539 1544
    [request addRequestIfMatchHeader:matchETag];
1540 1545
    return request;                                                                          
......
1553 1558
                                         bytes:(NSNumber *)bytes 
1554 1559
                           sourceContainerName:(NSString *)sourceContainerName 
1555 1560
                              sourceObjectName:(NSString *)sourceObjectName 
1561
                                 sourceAccount:(NSString *)sourceAccount
1556 1562
                                 sourceVersion:(NSString *)sourceVersion 
1557 1563
                                   ifNoneMatch:(NSString *)matchETag {
1558 1564
    ASIPithosObjectRequest *request = [self updateObjectDataRequestWithContainerName:containerName objectName:objectName 
......
1567 1573
                                                                               bytes:bytes 
1568 1574
                                                                 sourceContainerName:sourceContainerName 
1569 1575
                                                                    sourceObjectName:sourceObjectName 
1576
                                                                       sourceAccount:sourceAccount 
1570 1577
                                                                       sourceVersion:sourceVersion];
1571 1578
    [request addRequestIfNoneMatchHeader:matchETag];
1572 1579
    return request;                                                                          

Also available in: Unified diff