summaryrefslogtreecommitdiff
path: root/StoneIsland/plugins/cordova-plugin-advanced-http/src/ios/TextRequestSerializer.m
diff options
context:
space:
mode:
Diffstat (limited to 'StoneIsland/plugins/cordova-plugin-advanced-http/src/ios/TextRequestSerializer.m')
-rw-r--r--StoneIsland/plugins/cordova-plugin-advanced-http/src/ios/TextRequestSerializer.m53
1 files changed, 53 insertions, 0 deletions
diff --git a/StoneIsland/plugins/cordova-plugin-advanced-http/src/ios/TextRequestSerializer.m b/StoneIsland/plugins/cordova-plugin-advanced-http/src/ios/TextRequestSerializer.m
new file mode 100644
index 00000000..31c1c2ed
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-advanced-http/src/ios/TextRequestSerializer.m
@@ -0,0 +1,53 @@
+#import "TextRequestSerializer.h"
+
+@implementation TextRequestSerializer
+
++ (instancetype)serializer
+{
+ TextRequestSerializer *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:@"text/plain; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
+ }
+
+ [mutableRequest setHTTPBody: [[parameters valueForKey:@"text"] dataUsingEncoding:NSUTF8StringEncoding]];
+ }
+
+ return mutableRequest;
+}
+
+#pragma mark - NSSecureCoding
+
+- (instancetype)initWithCoder:(NSCoder *)decoder {
+ self = [super initWithCoder:decoder];
+ if (!self) {
+ return nil;
+ }
+
+ return self;
+}
+
+@end