1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #import "BinaryRequestSerializer.h"
-
- @implementation BinaryRequestSerializer
-
- + (instancetype)serializer
- {
- BinaryRequestSerializer *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/octet-stream" forHTTPHeaderField:@"Content-Type"];
- }
-
- [mutableRequest setHTTPBody: parameters];
- }
-
- return mutableRequest;
- }
-
- #pragma mark - NSSecureCoding
-
- - (instancetype)initWithCoder:(NSCoder *)decoder {
- self = [super initWithCoder:decoder];
- if (!self) {
- return nil;
- }
-
- return self;
- }
-
- @end
|