I have made a global method to post a HTTP request. I want to globally handle the response and make the request again in case error code = -1005 occurs. How should I do that?.
The code I am using is as below:-
- (void)callHTTPAPIForRequest:(NSDictionary *)request onServer:(NSString *)serverURL resultBlock:(void (^)(id))resultBlock failureBlock:(void (^)(NSError *error))failureBlock{
NSLog(@"%@", request);
[self POST: serverURL parameters:request success:^(AFHTTPRequestOperation *operation, id responseObject)
{
NSDictionary *dicResponce =[APIHelper getDictionaryFromNSData:operation.responseData];
NSLog(@"dicResponce: %@", dicResponce);
//NSLog(@"responseObject: %@", responseObject);
NSLog(@"the header fields in the request are %@",[operation.response allHeaderFields]);
BlockSafeRun(resultBlock, dicResponce);
}failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"Error::: %@", error);
BlockSafeRun(failureBlock, error);
//failure(error);
}];
}
blockSafeRun is macro defined below:-
define BlockSafeRun(block, ...) block ? block(VA_ARGS) : nil
Please suggest. Thanks in advance.