Expanding success and failure block of most explicit signature for AFJSONRequestOperation to include request and response objects
This commit is contained in:
parent
29de9132d2
commit
63ecf4bc98
2 changed files with 16 additions and 8 deletions
|
|
@ -34,8 +34,8 @@
|
|||
+ (id)operationWithRequest:(NSURLRequest *)urlRequest
|
||||
acceptableStatusCodes:(NSIndexSet *)acceptableStatusCodes
|
||||
acceptableContentTypes:(NSSet *)acceptableContentTypes
|
||||
success:(void (^)(id JSON))success
|
||||
failure:(void (^)(NSError *error))failure;
|
||||
success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, id JSON))success
|
||||
failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure;
|
||||
|
||||
+ (NSIndexSet *)defaultAcceptableStatusCodes;
|
||||
+ (NSSet *)defaultAcceptableContentTypes;
|
||||
|
|
|
|||
|
|
@ -37,14 +37,22 @@
|
|||
success:(void (^)(id JSON))success
|
||||
failure:(void (^)(NSError *error))failure
|
||||
{
|
||||
return [self operationWithRequest:urlRequest acceptableStatusCodes:[self defaultAcceptableStatusCodes] acceptableContentTypes:[self defaultAcceptableContentTypes] success:success failure:failure];
|
||||
return [self operationWithRequest:urlRequest acceptableStatusCodes:[self defaultAcceptableStatusCodes] acceptableContentTypes:[self defaultAcceptableContentTypes] success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
|
||||
if (success) {
|
||||
success(JSON);
|
||||
}
|
||||
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
|
||||
if (failure) {
|
||||
failure(error);
|
||||
}
|
||||
}];
|
||||
}
|
||||
|
||||
+ (id)operationWithRequest:(NSURLRequest *)urlRequest
|
||||
acceptableStatusCodes:(NSIndexSet *)acceptableStatusCodes
|
||||
acceptableContentTypes:(NSSet *)acceptableContentTypes
|
||||
success:(void (^)(id JSON))success
|
||||
failure:(void (^)(NSError *error))failure
|
||||
success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, id JSON))success
|
||||
failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure
|
||||
{
|
||||
return [self operationWithRequest:urlRequest completion:^(NSURLRequest *request, NSHTTPURLResponse *response, NSData *data, NSError *error) {
|
||||
BOOL statusCodeAcceptable = [acceptableStatusCodes containsIndex:[response statusCode]];
|
||||
|
|
@ -59,7 +67,7 @@
|
|||
|
||||
if (error) {
|
||||
if (failure) {
|
||||
failure(error);
|
||||
failure(request, response, error);
|
||||
}
|
||||
} else {
|
||||
id JSON = nil;
|
||||
|
|
@ -76,11 +84,11 @@
|
|||
|
||||
if (error) {
|
||||
if (failure) {
|
||||
failure(error);
|
||||
failure(request, response, error);
|
||||
}
|
||||
} else {
|
||||
if (success) {
|
||||
success(JSON);
|
||||
success(request, response, JSON);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue