+- (void)deleteObjectFinished:(ASIPithosObjectRequest *)objectRequest {
+ NSLog(@"Delete object finished: %@", objectRequest.url);
+ if (objectRequest.responseStatusCode == 204) {
+ [activityFacility endActivity:[objectRequest.userInfo objectForKey:@"activity"]
+ withMessage:[NSString stringWithFormat:@"Deleting '%@' (finished)",
+ [objectRequest.userInfo objectForKey:@"fileName"]]];
+ for (PithosNode *node in [objectRequest.userInfo objectForKey:@"forceRefreshNodes"]) {
+ [node forceRefresh];
+ }
+ for (PithosNode *node in [objectRequest.userInfo objectForKey:@"refreshNodes"]) {
+ [node refresh];
+ }
+ if ([[objectRequest.userInfo objectForKey:@"forceRefresh"] boolValue])
+ [self forceRefresh:self];
+ else if ([[objectRequest.userInfo objectForKey:@"refresh"] boolValue])
+ [self refresh:self];
+ } else {
+ NSUInteger retries = [[objectRequest.userInfo objectForKey:@"retries"] unsignedIntegerValue];
+ if (retries > 0) {
+ ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[PithosUtilities copyRequest:objectRequest];
+ [(NSMutableDictionary *)(newObjectRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
+ [[PithosUtilities prepareRequest:newObjectRequest priority:NSOperationQueuePriorityVeryHigh] startAsynchronous];
+ } else {
+ [activityFacility endActivity:[objectRequest.userInfo objectForKey:@"activity"]
+ withMessage:[NSString stringWithFormat:@"Deleting '%@' (failed)",
+ [objectRequest.userInfo objectForKey:@"fileName"]]];
+ [PithosUtilities unexpectedResponseStatusAlertWithRequest:objectRequest];
+ }
+ }
+}
+
+- (void)deleteObjectFailed:(ASIPithosObjectRequest *)objectRequest {
+ NSLog(@"Delete object failed: %@", objectRequest.url);
+ NSUInteger retries = [[objectRequest.userInfo objectForKey:@"retries"] unsignedIntegerValue];
+ if (retries > 0) {
+ ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[PithosUtilities copyRequest:objectRequest];
+ [(NSMutableDictionary *)(newObjectRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
+ [[PithosUtilities prepareRequest:newObjectRequest priority:NSOperationQueuePriorityVeryHigh] startAsynchronous];
+ } else {
+ [activityFacility endActivity:[objectRequest.userInfo objectForKey:@"activity"]
+ withMessage:[NSString stringWithFormat:@"Deleting '%@' (failed)",
+ [objectRequest.userInfo objectForKey:@"fileName"]]];
+ [PithosUtilities httpRequestErrorAlertWithRequest:objectRequest];
+ }
+}
+