AFNetwork3.0 网络参数加密处理
#pragma mark - AFURLRequestSerialization
- (NSURLRequest *)requestBySerializingRequest:(NSURLRequest *)request
withParameters:(id)parameters
error:(NSError *__autoreleasing *)error
{
NSParameterAssert(request);
NSMutableURLRequest *mutableRequest = [request mutableCopy];
[self.HTTPRequestHeaders enumerateKeysAndObjectsUsingBlock:^(id field, id value, BOOL * __unused stop) {
if (![request valueForHTTPHeaderField:field]) {
[mutableRequest setValue:value forHTTPHeaderField:field];
}
}];
NSString *query = nil;
if (parameters) {
if (self.queryStringSerialization) {
NSError *serializationError;
query = self.queryStringSerialization(request, parameters, &serializationError);
if (serializationError) {
if (error) {
*error = serializationError;
}
return nil;
}
} else {
switch (self.queryStringSerializationStyle) {
case AFHTTPRequestQueryStringDefaultStyle:
query = AFQueryStringFromParameters(parameters);
break;
}
}
}
if ([self.HTTPMethodsEncodingParametersInURI containsObject:[[request HTTPMethod] uppercaseString]]) {
if (query && query.length > 0) {
mutableRequest.URL = [NSURL URLWithString:[[mutableRequest.URL absoluteString] stringByAppendingFormat:mutableRequest.URL.query ? @"&%@" : @"?%@", query]];
}
} else {
// #2864: an empty string is a valid x-www-form-urlencoded payload
if (!query) {
query = @"";
}
if (![mutableRequest valueForHTTPHeaderField:@"Content-Type"]) {
[mutableRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
}
[mutableRequest setHTTPBody:[query dataUsingEncoding:self.stringEncoding]];
}
//add by jeffasd for AFNetwork3.0
NSString *urlString = mutableRequest.URL.absoluteString;
NSString *paramerUrlStr = nil;
if ([urlString rangeOfString:@"?"].location != NSNotFound) {
NSUInteger location = [urlString rangeOfString:@"?"].location + 1;//去除?号
paramerUrlStr = [urlString substringFromIndex:location];
int64_t tag = [[JeffasdAESEncoder sharedInstance] getAESEncodeStrWithString:paramerUrlStr];
NSString *tagStr = [NSString stringWithFormat:@"&tag=%lld", tag];
urlString = [urlString stringByAppendingString:tagStr];
NSLog(@"jeffasd - encrypt urlString is %@", urlString);
NSURL *url = [NSURL URLWithString:urlString];
mutableRequest.URL = url;
}
return mutableRequest;
}