From a810d0248dd9f1099ce15809f8e1e75eedbff8e6 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 21 Sep 2020 18:11:51 +0200 Subject: plugins --- .../src/ios/BinaryRequestSerializer.m | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 StoneIsland/plugins/cordova-plugin-advanced-http/src/ios/BinaryRequestSerializer.m (limited to 'StoneIsland/plugins/cordova-plugin-advanced-http/src/ios/BinaryRequestSerializer.m') diff --git a/StoneIsland/plugins/cordova-plugin-advanced-http/src/ios/BinaryRequestSerializer.m b/StoneIsland/plugins/cordova-plugin-advanced-http/src/ios/BinaryRequestSerializer.m new file mode 100644 index 00000000..ada4df8b --- /dev/null +++ b/StoneIsland/plugins/cordova-plugin-advanced-http/src/ios/BinaryRequestSerializer.m @@ -0,0 +1,53 @@ +#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 -- cgit v1.2.3-70-g09d2