diff options
Diffstat (limited to 'plugins/com.synconset.cordovaHTTP/src/ios/CordovaHttpPlugin.m')
| -rw-r--r-- | plugins/com.synconset.cordovaHTTP/src/ios/CordovaHttpPlugin.m | 239 |
1 files changed, 0 insertions, 239 deletions
diff --git a/plugins/com.synconset.cordovaHTTP/src/ios/CordovaHttpPlugin.m b/plugins/com.synconset.cordovaHTTP/src/ios/CordovaHttpPlugin.m deleted file mode 100644 index 54de660d..00000000 --- a/plugins/com.synconset.cordovaHTTP/src/ios/CordovaHttpPlugin.m +++ /dev/null @@ -1,239 +0,0 @@ -#import "CordovaHttpPlugin.h" -#import "CDVFile.h" -#import "TextResponseSerializer.h" -#import "HttpManager.h" - -@interface CordovaHttpPlugin() - -- (void)setRequestHeaders:(NSDictionary*)headers; - -@end - - -@implementation CordovaHttpPlugin { - AFHTTPRequestSerializer *requestSerializer; -} - -- (void)pluginInitialize { - requestSerializer = [AFHTTPRequestSerializer serializer]; -} - -- (void)setRequestHeaders:(NSDictionary*)headers { - [HttpManager sharedClient].requestSerializer = [AFHTTPRequestSerializer serializer]; - [requestSerializer.HTTPRequestHeaders enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { - [[HttpManager sharedClient].requestSerializer setValue:obj forHTTPHeaderField:key]; - }]; - [headers enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { - [[HttpManager sharedClient].requestSerializer setValue:obj forHTTPHeaderField:key]; - }]; -} - -- (void)useBasicAuth:(CDVInvokedUrlCommand*)command { - NSString *username = [command.arguments objectAtIndex:0]; - NSString *password = [command.arguments objectAtIndex:1]; - - [requestSerializer setAuthorizationHeaderFieldWithUsername:username password:password]; - - CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK]; - [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; -} - -- (void)setHeader:(CDVInvokedUrlCommand*)command { - NSString *header = [command.arguments objectAtIndex:0]; - NSString *value = [command.arguments objectAtIndex:1]; - - [requestSerializer setValue:value forHTTPHeaderField: header]; - - CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK]; - [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; -} - -- (void)enableSSLPinning:(CDVInvokedUrlCommand*)command { - bool enable = [[command.arguments objectAtIndex:0] boolValue]; - if (enable) { - [HttpManager sharedClient].securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate]; - [HttpManager sharedClient].securityPolicy.validatesCertificateChain = NO; - } else { - [HttpManager sharedClient].securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone]; - } - - CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK]; - [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; -} - -- (void)acceptAllCerts:(CDVInvokedUrlCommand*)command { - CDVPluginResult* pluginResult = nil; - bool allow = [[command.arguments objectAtIndex:0] boolValue]; - - [HttpManager sharedClient].securityPolicy.allowInvalidCertificates = allow; - - pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK]; - [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; -} - -- (void)post:(CDVInvokedUrlCommand*)command { - HttpManager *manager = [HttpManager sharedClient]; - NSString *url = [command.arguments objectAtIndex:0]; - NSDictionary *parameters = [command.arguments objectAtIndex:1]; - NSDictionary *headers = [command.arguments objectAtIndex:2]; - [self setRequestHeaders: headers]; - - CordovaHttpPlugin* __weak weakSelf = self; - manager.responseSerializer = [TextResponseSerializer serializer]; - [manager POST:url parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { - NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; - [dictionary setObject:[NSNumber numberWithInt:operation.response.statusCode] forKey:@"status"]; - [dictionary setObject:responseObject forKey:@"data"]; - CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:dictionary]; - [weakSelf.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; - } failure:^(AFHTTPRequestOperation *operation, NSError *error) { - NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; - [dictionary setObject:[NSNumber numberWithInt:operation.response.statusCode] forKey:@"status"]; - [dictionary setObject:[error localizedDescription] forKey:@"error"]; - CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary]; - [weakSelf.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; - }]; -} - -- (void)get:(CDVInvokedUrlCommand*)command { - HttpManager *manager = [HttpManager sharedClient]; - NSString *url = [command.arguments objectAtIndex:0]; - NSDictionary *parameters = [command.arguments objectAtIndex:1]; - NSDictionary *headers = [command.arguments objectAtIndex:2]; - [self setRequestHeaders: headers]; - - CordovaHttpPlugin* __weak weakSelf = self; - - manager.responseSerializer = [TextResponseSerializer serializer]; - [manager GET:url parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { - NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; - [dictionary setObject:[NSNumber numberWithInt:operation.response.statusCode] forKey:@"status"]; - [dictionary setObject:responseObject forKey:@"data"]; - CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:dictionary]; - [weakSelf.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; - } failure:^(AFHTTPRequestOperation *operation, NSError *error) { - NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; - [dictionary setObject:[NSNumber numberWithInt:operation.response.statusCode] forKey:@"status"]; - [dictionary setObject:[error localizedDescription] forKey:@"error"]; - CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary]; - [weakSelf.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; - }]; -} - -- (void)uploadFile:(CDVInvokedUrlCommand*)command { - HttpManager *manager = [HttpManager sharedClient]; - NSString *url = [command.arguments objectAtIndex:0]; - NSDictionary *parameters = [command.arguments objectAtIndex:1]; - NSDictionary *headers = [command.arguments objectAtIndex:2]; - NSString *filePath = [command.arguments objectAtIndex: 3]; - NSString *name = [command.arguments objectAtIndex: 4]; - - NSURL *fileURL = [NSURL fileURLWithPath: filePath]; - - [self setRequestHeaders: headers]; - - CordovaHttpPlugin* __weak weakSelf = self; - manager.responseSerializer = [TextResponseSerializer serializer]; - [manager POST:url parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { - NSError *error; - [formData appendPartWithFileURL:fileURL name:name error:&error]; - if (error) { - NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; - [dictionary setObject:[NSNumber numberWithInt:500] forKey:@"status"]; - [dictionary setObject:@"Could not add image to post body." forKey:@"error"]; - CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary]; - [weakSelf.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; - return; - } - } success:^(AFHTTPRequestOperation *operation, id responseObject) { - NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; - [dictionary setObject:[NSNumber numberWithInt:operation.response.statusCode] forKey:@"status"]; - CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:dictionary]; - [weakSelf.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; - } failure:^(AFHTTPRequestOperation *operation, NSError *error) { - NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; - [dictionary setObject:[NSNumber numberWithInt:operation.response.statusCode] forKey:@"status"]; - [dictionary setObject:[error localizedDescription] forKey:@"error"]; - CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary]; - [weakSelf.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; - }]; -} - - -- (void)downloadFile:(CDVInvokedUrlCommand*)command { - HttpManager *manager = [HttpManager sharedClient]; - NSString *url = [command.arguments objectAtIndex:0]; - NSDictionary *parameters = [command.arguments objectAtIndex:1]; - NSDictionary *headers = [command.arguments objectAtIndex:2]; - NSString *filePath = [command.arguments objectAtIndex: 3]; - - [self setRequestHeaders: headers]; - - CordovaHttpPlugin* __weak weakSelf = self; - manager.responseSerializer = [AFHTTPResponseSerializer serializer]; - [manager GET:url parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { - /* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - * Modified by Andrew Stephan for Sync OnSet - * - */ - // Download response is okay; begin streaming output to file - NSString* parentPath = [filePath stringByDeletingLastPathComponent]; - - // create parent directories if needed - NSError *error; - if ([[NSFileManager defaultManager] createDirectoryAtPath:parentPath withIntermediateDirectories:YES attributes:nil error:&error] == NO) { - NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; - [dictionary setObject:[NSNumber numberWithInt:500] forKey:@"status"]; - if (error) { - [dictionary setObject:[NSString stringWithFormat:@"Could not create path to save downloaded file: %@", [error localizedDescription]] forKey:@"error"]; - } else { - [dictionary setObject:@"Could not create path to save downloaded file" forKey:@"error"]; - } - CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary]; - [weakSelf.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; - return; - } - NSData *data = (NSData *)responseObject; - if (![data writeToFile:filePath atomically:YES]) { - NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; - [dictionary setObject:[NSNumber numberWithInt:500] forKey:@"status"]; - [dictionary setObject:@"Could not write the data to the given filePath." forKey:@"error"]; - CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary]; - [weakSelf.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; - return; - } - - CDVFile *file = [[CDVFile alloc] init]; - NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; - [dictionary setObject:[NSNumber numberWithInt:operation.response.statusCode] forKey:@"status"]; - [dictionary setObject:[file getDirectoryEntry:filePath isDirectory:NO] forKey:@"file"]; - CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:dictionary]; - [weakSelf.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; - } failure:^(AFHTTPRequestOperation *operation, NSError *error) { - NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; - [dictionary setObject:[NSNumber numberWithInt:operation.response.statusCode] forKey:@"status"]; - [dictionary setObject:[error localizedDescription] forKey:@"error"]; - CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:dictionary]; - [weakSelf.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; - }]; -} - -@end |
