luboslenco hace 2 semanas
padre
commit
01bc405878

+ 2 - 2
base/sources/backends/android_http_request.c

@@ -7,8 +7,8 @@
 ANativeActivity *iron_android_get_activity(void);
 jclass iron_android_find_class(JNIEnv *env, const char *name);
 
-void android_http_request(const char *url, const char *path, const char *data, int port, bool secure, int method, const char *header,
-                          iron_http_callback_t callback, void *callbackdata) {
+void iron_http_request(const char *url, const char *path, const char *data, int port, bool secure, int method, const char *header,
+                       iron_http_callback_t callback, void *callbackdata) {
     ANativeActivity *activity = iron_android_get_activity();
     JNIEnv *env;
     JavaVM *vm = iron_android_get_activity()->vm;

+ 2 - 2
base/sources/backends/android_http_request.h

@@ -4,6 +4,6 @@
 
 typedef void (*iron_http_callback_t)(int error, int response, const char *body, void *callbackdata);
 
-void android_http_request(const char *url, const char *path, const char *data, int port, bool secure, int method, const char *header,
-						  iron_http_callback_t callback, void *callbackdata);
+void iron_http_request(const char *url, const char *path, const char *data, int port, bool secure, int method, const char *header,
+					   iron_http_callback_t callback, void *callbackdata);
 

+ 6 - 15
base/sources/backends/apple_net.m

@@ -6,24 +6,20 @@ static NSURLSession *session = nil;
 
 void iron_http_request(const char *url, const char *path, const char *data, int port, bool secure, int method, const char *header,
                        iron_http_callback_t callback, void *callbackdata) {
+	if (session == nil) {
+		NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
+		session = [NSURLSession sessionWithConfiguration:sessionConfiguration];
+	}
+
 	NSString *urlstring = secure ? @"https://" : @"http://";
 	urlstring = [urlstring stringByAppendingString:[NSString stringWithUTF8String:url]];
 	urlstring = [urlstring stringByAppendingString:@":"];
 	urlstring = [urlstring stringByAppendingString:[[NSNumber numberWithInt:port] stringValue]];
 	urlstring = [urlstring stringByAppendingString:@"/"];
 	urlstring = [urlstring stringByAppendingString:[NSString stringWithUTF8String:path]];
-
 	NSURL *aUrl = [NSURL URLWithString:urlstring];
-
-	if (session == nil) {
-		NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
-		sessionConfiguration.HTTPAdditionalHeaders = @{@"Content-Type" : @"application/json"};
-		session = [NSURLSession sessionWithConfiguration:sessionConfiguration];
-	}
-
 	NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:aUrl];
 	if (data != 0) {
-		// printf("Sending %s\n\n", data);
 		NSString *datastring = [NSString stringWithUTF8String:data];
 		request.HTTPBody = [datastring dataUsingEncoding:NSUTF8StringEncoding];
 	}
@@ -48,13 +44,8 @@ void iron_http_request(const char *url, const char *path, const char *data, int
 		completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
 			NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
 			int statusCode = (int)[httpResponse statusCode];
-
-			NSMutableData *responseData = [[NSMutableData alloc] init];
-			[responseData appendData:data];
-			[responseData appendBytes:"\0" length:1];
-
 			dispatch_async(dispatch_get_main_queue(), ^{
-				callback(error ? 1 : 0, statusCode, (const char *)[responseData bytes], callbackdata);
+				callback(error ? 1 : 0, statusCode, (const char *)[data bytes], callbackdata);
 			});
 		}
 	];

+ 2 - 2
base/sources/iron.h

@@ -1399,8 +1399,8 @@ void _iron_http_request(string_t *url, i32 size, void (*callback)(char *, buffer
 		url_path[j] = curl[i + 8 + j];
 	}
 	url_path[j] = 0;
-	#ifdef IRON_ANDROID // TODO: move to iron
-	android_http_request(curl, url_path, NULL, 443, true, 0, NULL, &_http_callback, cbd);
+	#ifdef IRON_ANDROID
+	iron_http_request(curl, url_path, NULL, 443, true, 0, NULL, &_http_callback, cbd);
 	#elif defined(IRON_LINUX)
 	// TODO
 	#else