Merge branch 'master' of https://github.com/robertocapuano/cordova-plugin-advanced-http into robertocapuano-master

This commit is contained in:
Sefa Ilkimen
2018-01-21 15:11:44 +01:00
5 changed files with 80 additions and 3 deletions
@@ -144,7 +144,11 @@ abstract class CordovaHttp {
if (new String("json").equals(this.getSerializerName())) { if (new String("json").equals(this.getSerializerName())) {
request.contentType(request.CONTENT_TYPE_JSON, request.CHARSET_UTF8); request.contentType(request.CONTENT_TYPE_JSON, request.CHARSET_UTF8);
request.send(this.getParamsObject().toString()); request.send(this.getParamsObject().toString());
} else { } else if (new String("raw").equals(this.getSerializerName())) {
// request.contentType(request.CONTENT_TYPE_JSON, request.CHARSET_UTF8);
request.send(this.getParamsObject().toString());
} else
{
request.form(this.getParamsMap()); request.form(this.getParamsMap());
} }
@@ -375,6 +375,19 @@ forHTTPHeaderField:(NSString *)field;
@end @end
#pragma mark -
/**
`AFRAWRequestSerializer` is a subclass of `AFHTTPRequestSerializer`
*/
@interface AFRAWRequestSerializer : AFHTTPRequestSerializer
+ (instancetype)serializer;
@end
#pragma mark - #pragma mark -
/** /**
@@ -1195,6 +1195,62 @@ typedef enum {
@end @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 - #pragma mark -
@implementation AFJSONRequestSerializer @implementation AFJSONRequestSerializer
+5 -1
View File
@@ -28,7 +28,11 @@
- (void)setRequestSerializer:(NSString*)serializerName forManager:(AFHTTPSessionManager*)manager { - (void)setRequestSerializer:(NSString*)serializerName forManager:(AFHTTPSessionManager*)manager {
if ([serializerName isEqualToString:@"json"]) { if ([serializerName isEqualToString:@"json"]) {
manager.requestSerializer = [AFJSONRequestSerializer serializer]; manager.requestSerializer = [AFJSONRequestSerializer serializer];
} else { } else
if ([serializerName isEqualToString:@"raw"]) {
manager.requestSerializer = [AFRAWRequestSerializer serializer];
} else
{
manager.requestSerializer = [AFHTTPRequestSerializer serializer]; manager.requestSerializer = [AFHTTPRequestSerializer serializer];
} }
} }
+1 -1
View File
@@ -33,7 +33,7 @@
*/ */
var pluginId = module.id.slice(0, module.id.indexOf('.')); var pluginId = module.id.slice(0, module.id.indexOf('.'));
var validSerializers = ['urlencoded', 'json']; var validSerializers = ['urlencoded', 'json', 'raw' ];
var exec = require('cordova/exec'); var exec = require('cordova/exec');
var angularIntegration = require(pluginId +'.angular-integration'); var angularIntegration = require(pluginId +'.angular-integration');