Added methods to simplify calling the success/failure handlers.
This commit is contained in:
parent
feaf0814c4
commit
30a5cea4fc
6 changed files with 51 additions and 59 deletions
|
|
@ -107,3 +107,18 @@
|
|||
failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@interface AFHTTPRequestOperation (AFInternal)
|
||||
|
||||
/**
|
||||
Executes the successBlock on the corresponding successCallbackQueue.
|
||||
*/
|
||||
- (void)dispatchSuccessBlock:(void (^)(AFHTTPRequestOperation *operation, id responseObject))successBlock responseObject:(id)responseObject;
|
||||
|
||||
/**
|
||||
Executes the failureBlock on the corresponding failureCallbackQueue.
|
||||
*/
|
||||
- (void)dispatchFailureBlock:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failureBlock error:(NSError *)error;
|
||||
|
||||
@end
|
||||
|
|
@ -127,17 +127,9 @@
|
|||
}
|
||||
|
||||
if (self.error) {
|
||||
if (failure) {
|
||||
dispatch_async(self.failureCallbackQueue ? self.failureCallbackQueue : dispatch_get_main_queue(), ^{
|
||||
failure(self, self.error);
|
||||
});
|
||||
}
|
||||
[self dispatchFailureBlock:failure error:self.error];
|
||||
} else {
|
||||
if (success) {
|
||||
dispatch_async(self.successCallbackQueue ? self.successCallbackQueue : dispatch_get_main_queue(), ^{
|
||||
success(self, self.responseData);
|
||||
});
|
||||
}
|
||||
[self dispatchSuccessBlock:success responseObject:self.responseString];
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
@ -146,6 +138,25 @@
|
|||
|
||||
+ (BOOL)canProcessRequest:(NSURLRequest *)request {
|
||||
return YES;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - AFInternal
|
||||
|
||||
- (void)dispatchSuccessBlock:(void (^)(AFHTTPRequestOperation *operation, id responseObject))successBlock responseObject:(id)responseObject {
|
||||
if (successBlock) {
|
||||
dispatch_async(self.successCallbackQueue ? self.successCallbackQueue : dispatch_get_main_queue(), ^{
|
||||
successBlock(self, responseObject);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
- (void)dispatchFailureBlock:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failureBlock error:(NSError *)error {
|
||||
if (failureBlock) {
|
||||
dispatch_async(self.failureCallbackQueue ? self.failureCallbackQueue : dispatch_get_main_queue(), ^{
|
||||
failureBlock(self, error);
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -230,17 +230,9 @@ static dispatch_queue_t image_request_operation_processing_queue() {
|
|||
|
||||
dispatch_async(image_request_operation_processing_queue(), ^(void) {
|
||||
if (self.error) {
|
||||
if (failure) {
|
||||
dispatch_async(self.failureCallbackQueue ? self.failureCallbackQueue : dispatch_get_main_queue(), ^{
|
||||
failure(self, self.error);
|
||||
});
|
||||
}
|
||||
} else {
|
||||
if (success) {
|
||||
dispatch_async(self.successCallbackQueue ? self.successCallbackQueue : dispatch_get_main_queue(), ^{
|
||||
success(self, self.responseImage);
|
||||
});
|
||||
}
|
||||
[self dispatchFailureBlock:failure error:self.error];
|
||||
} else {
|
||||
[self dispatchSuccessBlock:success responseObject:self.responseImage];
|
||||
}
|
||||
});
|
||||
};
|
||||
|
|
|
|||
|
|
@ -134,17 +134,9 @@ static dispatch_queue_t json_request_operation_processing_queue() {
|
|||
id JSON = self.responseJSON;
|
||||
|
||||
if (self.JSONError) {
|
||||
if (failure) {
|
||||
dispatch_async(self.failureCallbackQueue ? self.failureCallbackQueue : dispatch_get_main_queue(), ^{
|
||||
failure(self, self.JSONError);
|
||||
});
|
||||
}
|
||||
[self dispatchFailureBlock:failure error:self.JSONError];
|
||||
} else {
|
||||
if (success) {
|
||||
dispatch_async(self.successCallbackQueue ? self.successCallbackQueue : dispatch_get_main_queue(), ^{
|
||||
success(self, JSON);
|
||||
});
|
||||
}
|
||||
[self dispatchSuccessBlock:success responseObject:JSON];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -124,26 +124,16 @@ static dispatch_queue_t property_list_request_operation_processing_queue() {
|
|||
}
|
||||
|
||||
if (self.error) {
|
||||
if (failure) {
|
||||
dispatch_async(self.failureCallbackQueue ? self.failureCallbackQueue : dispatch_get_main_queue(), ^{
|
||||
failure(self, self.error);
|
||||
});
|
||||
}
|
||||
[self dispatchFailureBlock:failure error:self.error];
|
||||
} else {
|
||||
dispatch_async(property_list_request_operation_processing_queue(), ^(void) {
|
||||
id propertyList = self.responsePropertyList;
|
||||
|
||||
dispatch_async(self.successCallbackQueue ? self.successCallbackQueue : dispatch_get_main_queue(), ^{
|
||||
if (self.propertyListError) {
|
||||
if (failure) {
|
||||
failure(self, self.propertyListError);
|
||||
}
|
||||
} else {
|
||||
if (success) {
|
||||
success(self, propertyList);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (self.propertyListError) {
|
||||
[self dispatchFailureBlock:failure error:self.propertyListError];
|
||||
}else {
|
||||
[self dispatchSuccessBlock:success responseObject:propertyList];
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -187,17 +187,9 @@ static dispatch_queue_t xml_request_operation_processing_queue() {
|
|||
}
|
||||
|
||||
if (self.error) {
|
||||
if (failure) {
|
||||
dispatch_async(self.failureCallbackQueue ? self.failureCallbackQueue : dispatch_get_main_queue(), ^{
|
||||
failure(self, self.error);
|
||||
});
|
||||
}
|
||||
[self dispatchFailureBlock:failure error:self.error];
|
||||
} else {
|
||||
if (success) {
|
||||
dispatch_async(self.successCallbackQueue ? self.successCallbackQueue : dispatch_get_main_queue(), ^{
|
||||
success(self, self.responseXMLParser);
|
||||
});
|
||||
}
|
||||
[self dispatchSuccessBlock:success responseObject:self.responseXMLParser];
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue