[Issue #599] Refactoring AFHTTPClient to remove unnecessary JSON / plist serialization functions, logging any error that may arise.
This commit is contained in:
parent
175c3fa451
commit
e2f2ab45aa
1 changed files with 8 additions and 25 deletions
|
|
@ -160,29 +160,6 @@ NSArray * AFQueryStringPairsFromKeyAndValue(NSString *key, id value) {
|
||||||
return mutableQueryStringComponents;
|
return mutableQueryStringComponents;
|
||||||
}
|
}
|
||||||
|
|
||||||
static NSString * AFJSONStringFromParameters(NSDictionary *parameters) {
|
|
||||||
NSError *error = nil;
|
|
||||||
NSData *JSONData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:&error];;
|
|
||||||
|
|
||||||
if (!error) {
|
|
||||||
return [[NSString alloc] initWithData:JSONData encoding:NSUTF8StringEncoding];
|
|
||||||
} else {
|
|
||||||
return nil;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static NSString * AFPropertyListStringFromParameters(NSDictionary *parameters) {
|
|
||||||
NSString *propertyListString = nil;
|
|
||||||
NSError *error = nil;
|
|
||||||
|
|
||||||
NSData *propertyListData = [NSPropertyListSerialization dataWithPropertyList:parameters format:NSPropertyListXMLFormat_v1_0 options:0 error:&error];
|
|
||||||
if (!error) {
|
|
||||||
propertyListString = [[NSString alloc] initWithData:propertyListData encoding:NSUTF8StringEncoding] ;
|
|
||||||
}
|
|
||||||
|
|
||||||
return propertyListString;
|
|
||||||
}
|
|
||||||
|
|
||||||
@interface AFStreamingMultipartFormData : NSObject <AFMultipartFormData>
|
@interface AFStreamingMultipartFormData : NSObject <AFMultipartFormData>
|
||||||
- (id)initWithURLRequest:(NSMutableURLRequest *)urlRequest
|
- (id)initWithURLRequest:(NSMutableURLRequest *)urlRequest
|
||||||
stringEncoding:(NSStringEncoding)encoding;
|
stringEncoding:(NSStringEncoding)encoding;
|
||||||
|
|
@ -443,6 +420,8 @@ static void AFNetworkReachabilityReleaseCallback(const void *info) {}
|
||||||
[request setURL:url];
|
[request setURL:url];
|
||||||
} else {
|
} else {
|
||||||
NSString *charset = (__bridge NSString *)CFStringConvertEncodingToIANACharSetName(CFStringConvertNSStringEncodingToEncoding(self.stringEncoding));
|
NSString *charset = (__bridge NSString *)CFStringConvertEncodingToIANACharSetName(CFStringConvertNSStringEncodingToEncoding(self.stringEncoding));
|
||||||
|
NSError *error = nil;
|
||||||
|
|
||||||
switch (self.parameterEncoding) {
|
switch (self.parameterEncoding) {
|
||||||
case AFFormURLParameterEncoding:;
|
case AFFormURLParameterEncoding:;
|
||||||
[request setValue:[NSString stringWithFormat:@"application/x-www-form-urlencoded; charset=%@", charset] forHTTPHeaderField:@"Content-Type"];
|
[request setValue:[NSString stringWithFormat:@"application/x-www-form-urlencoded; charset=%@", charset] forHTTPHeaderField:@"Content-Type"];
|
||||||
|
|
@ -450,13 +429,17 @@ static void AFNetworkReachabilityReleaseCallback(const void *info) {}
|
||||||
break;
|
break;
|
||||||
case AFJSONParameterEncoding:;
|
case AFJSONParameterEncoding:;
|
||||||
[request setValue:[NSString stringWithFormat:@"application/json; charset=%@", charset] forHTTPHeaderField:@"Content-Type"];
|
[request setValue:[NSString stringWithFormat:@"application/json; charset=%@", charset] forHTTPHeaderField:@"Content-Type"];
|
||||||
[request setHTTPBody:[AFJSONStringFromParameters(parameters) dataUsingEncoding:self.stringEncoding]];
|
[request setHTTPBody:[NSJSONSerialization dataWithJSONObject:parameters options:0 error:&error]];
|
||||||
break;
|
break;
|
||||||
case AFPropertyListParameterEncoding:;
|
case AFPropertyListParameterEncoding:;
|
||||||
[request setValue:[NSString stringWithFormat:@"application/x-plist; charset=%@", charset] forHTTPHeaderField:@"Content-Type"];
|
[request setValue:[NSString stringWithFormat:@"application/x-plist; charset=%@", charset] forHTTPHeaderField:@"Content-Type"];
|
||||||
[request setHTTPBody:[AFPropertyListStringFromParameters(parameters) dataUsingEncoding:self.stringEncoding]];
|
[request setHTTPBody:[NSPropertyListSerialization dataWithPropertyList:parameters format:NSPropertyListXMLFormat_v1_0 options:0 error:&error]];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (error) {
|
||||||
|
NSLog(@"%@ %@: %@", [self class], NSStringFromSelector(_cmd), error);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue