Cleanup
This commit is contained in:
@@ -7,8 +7,8 @@
|
|||||||
ANativeActivity *iron_android_get_activity(void);
|
ANativeActivity *iron_android_get_activity(void);
|
||||||
jclass iron_android_find_class(JNIEnv *env, const char *name);
|
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,
|
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) {
|
iron_http_callback_t callback, void *callbackdata) {
|
||||||
ANativeActivity *activity = iron_android_get_activity();
|
ANativeActivity *activity = iron_android_get_activity();
|
||||||
JNIEnv *env;
|
JNIEnv *env;
|
||||||
JavaVM *vm = iron_android_get_activity()->vm;
|
JavaVM *vm = iron_android_get_activity()->vm;
|
||||||
|
|||||||
@@ -4,6 +4,6 @@
|
|||||||
|
|
||||||
typedef void (*iron_http_callback_t)(int error, int response, const char *body, void *callbackdata);
|
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,
|
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);
|
iron_http_callback_t callback, void *callbackdata);
|
||||||
|
|
||||||
|
|||||||
@@ -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,
|
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) {
|
iron_http_callback_t callback, void *callbackdata) {
|
||||||
|
if (session == nil) {
|
||||||
|
NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
|
||||||
|
session = [NSURLSession sessionWithConfiguration:sessionConfiguration];
|
||||||
|
}
|
||||||
|
|
||||||
NSString *urlstring = secure ? @"https://" : @"http://";
|
NSString *urlstring = secure ? @"https://" : @"http://";
|
||||||
urlstring = [urlstring stringByAppendingString:[NSString stringWithUTF8String:url]];
|
urlstring = [urlstring stringByAppendingString:[NSString stringWithUTF8String:url]];
|
||||||
urlstring = [urlstring stringByAppendingString:@":"];
|
urlstring = [urlstring stringByAppendingString:@":"];
|
||||||
urlstring = [urlstring stringByAppendingString:[[NSNumber numberWithInt:port] stringValue]];
|
urlstring = [urlstring stringByAppendingString:[[NSNumber numberWithInt:port] stringValue]];
|
||||||
urlstring = [urlstring stringByAppendingString:@"/"];
|
urlstring = [urlstring stringByAppendingString:@"/"];
|
||||||
urlstring = [urlstring stringByAppendingString:[NSString stringWithUTF8String:path]];
|
urlstring = [urlstring stringByAppendingString:[NSString stringWithUTF8String:path]];
|
||||||
|
|
||||||
NSURL *aUrl = [NSURL URLWithString:urlstring];
|
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];
|
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:aUrl];
|
||||||
if (data != 0) {
|
if (data != 0) {
|
||||||
// printf("Sending %s\n\n", data);
|
|
||||||
NSString *datastring = [NSString stringWithUTF8String:data];
|
NSString *datastring = [NSString stringWithUTF8String:data];
|
||||||
request.HTTPBody = [datastring dataUsingEncoding:NSUTF8StringEncoding];
|
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) {
|
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
|
||||||
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
|
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
|
||||||
int statusCode = (int)[httpResponse statusCode];
|
int statusCode = (int)[httpResponse statusCode];
|
||||||
|
|
||||||
NSMutableData *responseData = [[NSMutableData alloc] init];
|
|
||||||
[responseData appendData:data];
|
|
||||||
[responseData appendBytes:"\0" length:1];
|
|
||||||
|
|
||||||
dispatch_async(dispatch_get_main_queue(), ^{
|
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
@@ -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] = curl[i + 8 + j];
|
||||||
}
|
}
|
||||||
url_path[j] = 0;
|
url_path[j] = 0;
|
||||||
#ifdef IRON_ANDROID // TODO: move to iron
|
#ifdef IRON_ANDROID
|
||||||
android_http_request(curl, url_path, NULL, 443, true, 0, NULL, &_http_callback, cbd);
|
iron_http_request(curl, url_path, NULL, 443, true, 0, NULL, &_http_callback, cbd);
|
||||||
#elif defined(IRON_LINUX)
|
#elif defined(IRON_LINUX)
|
||||||
// TODO
|
// TODO
|
||||||
#else
|
#else
|
||||||
|
|||||||
Reference in New Issue
Block a user