I am making a request to OAuth server which redirects the request to a different URL and then doesn't pass the Authorization header along with it.
I need to implement redirection for all the requests. Earlier I was doing the same using AFHTTPRequestOperation
API using the following code:
- (AFHTTPRequestOperation *)request:(TMERequest)request
parameters:(NSDictionary *)parameters
makeURL:(NSString *(^)(NSString *URL))URLBlock
loadingMessage:(NSString *)message
completion:(void (^)())completionBlock
success:(void (^)(id reponse))successBlock
failure:(void (^)(NSError *error))failureBlock {
AFHTTPRequestOperation *operation = [super
request:request
parameters:parameters
makeURL:URLBlock
loadingMessage:message
completion:completionBlock
success:successBlock
failure:failureBlock];
if (self.authorizationToken) {
//Redirect clears the Authorization header, this is to add it back
[operation setRedirectResponseBlock:^NSURLRequest *(NSURLConnection *connection, NSURLRequest *request, NSURLResponse *redirectResponse) {
if (request.allHTTPHeaderFields[kAuthorizationHeader]) {
return request;
}
NSMutableURLRequest *authorizedRequest = [request mutableCopy];
[authorizedRequest setValue:[NSString stringWithFormat:kAuthorizationFormat, self.authorizationToken] forHTTPHeaderField:kAuthorizationHeader];
return [authorizedRequest copy];
}];
}
return operation;
}
How do I implement this using AFHTTPSessionManager