added 'raw' serializer

This commit is contained in:
Roberto Capuano
2017-12-12 16:42:03 +01:00
parent d67e80dfe0
commit 5d5a859cfc
5 changed files with 80 additions and 3 deletions
@@ -1195,6 +1195,62 @@ typedef enum {
@end
#pragma mark -
@implementation AFRAWRequestSerializer
+ (instancetype)serializer
{
AFRAWRequestSerializer *serializer = [[self alloc] init];
return serializer;
}
#pragma mark - AFURLRequestSerialization
- (NSURLRequest *)requestBySerializingRequest:(NSURLRequest *)request
withParameters:(id)parameters
error:(NSError *__autoreleasing *)error
{
NSParameterAssert(request);
if ([self.HTTPMethodsEncodingParametersInURI containsObject:[[request HTTPMethod] uppercaseString]]) {
return [super requestBySerializingRequest:request withParameters:parameters error:error];
}
NSMutableURLRequest *mutableRequest = [request mutableCopy];
[self.HTTPRequestHeaders enumerateKeysAndObjectsUsingBlock:^(id field, id value, BOOL * __unused stop) {
if (![request valueForHTTPHeaderField:field]) {
[mutableRequest setValue:value forHTTPHeaderField:field];
}
}];
if (parameters) {
// if (![mutableRequest valueForHTTPHeaderField:@"Content-Type"]) {
// [mutableRequest setValue:@"application/xml" forHTTPHeaderField:@"Content-Type"];
// }
[mutableRequest setHTTPBody: [parameters dataUsingEncoding:NSUTF8StringEncoding]];
}
return mutableRequest;
}
#pragma mark - NSSecureCoding
- (instancetype)initWithCoder:(NSCoder *)decoder {
self = [super initWithCoder:decoder];
if (!self) {
return nil;
}
return self;
}
@end
#pragma mark -
@implementation AFJSONRequestSerializer