From ddd7c3ea361b38acf5c61079f5460e6e0f110d70 Mon Sep 17 00:00:00 2001 From: Vincent Neo <23420208+vincentneo@users.noreply.github.com> Date: Fri, 21 Jul 2023 18:25:32 +0800 Subject: waitsForConnectivity, configurations for URLSession (#2501) --- tdnet/td/net/DarwinHttp.mm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'tdnet') diff --git a/tdnet/td/net/DarwinHttp.mm b/tdnet/td/net/DarwinHttp.mm index 1b90e59ad..3195c7a0d 100644 --- a/tdnet/td/net/DarwinHttp.mm +++ b/tdnet/td/net/DarwinHttp.mm @@ -14,6 +14,18 @@ namespace td { namespace { + +NSURLSession *getSession() { + static NSURLSession *urlSession = [] { + auto configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; + configuration.networkServiceType = NSURLNetworkServiceTypeResponsiveData; + configuration.timeoutIntervalForResource = 90; + configuration.waitsForConnectivity = true; + return [NSURLSession sessionWithConfiguration:configuration]; + }(); + return urlSession; +} + NSString *to_ns_string(CSlice slice) { return [NSString stringWithUTF8String:slice.c_str()]; } @@ -43,7 +55,7 @@ auto http_post(CSlice url, Slice data) { void http_send(NSURLRequest *request, Promise promise) { __block auto callback = std::move(promise); NSURLSessionDataTask *dataTask = - [NSURLSession.sharedSession + [getSession() dataTaskWithRequest:request completionHandler: ^(NSData *data, NSURLResponse *response, NSError *error) { -- cgit v1.2.3