mirror of
https://github.com/silkimen/cordova-plugin-advanced-http.git
synced 2026-04-24 00:00:03 +08:00
54 lines
1.5 KiB
Objective-C
54 lines
1.5 KiB
Objective-C
#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
|