From f327927fdd4265869b82bfb982a7aeaec8f53b06 Mon Sep 17 00:00:00 2001 From: OfficialDakari Date: Sun, 2 Nov 2025 17:53:24 +0500 Subject: [PATCH] merge --- lib/utils/custom_http_client.dart | 34 +++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/lib/utils/custom_http_client.dart b/lib/utils/custom_http_client.dart index 31a48ae..c6c5060 100644 --- a/lib/utils/custom_http_client.dart +++ b/lib/utils/custom_http_client.dart @@ -1,6 +1,8 @@ import 'dart:convert'; import 'dart:io'; +import 'package:extera_next/config/app_config.dart'; +import 'package:extera_next/utils/platform_infos.dart'; import 'package:http/http.dart' as http; import 'package:http/io_client.dart'; @@ -12,20 +14,30 @@ class CustomHttpClient { final context = SecurityContext.defaultContext; - try { - if (cert != null) { - final bytes = utf8.encode(cert); - context.setTrustedCertificatesBytes(bytes); - } - } on TlsException catch (e) { - if (e.osError != null && - e.osError!.message.contains('CERT_ALREADY_IN_HASH_TABLE')) { - } else { - rethrow; + if (PlatformInfos.isAndroid) { + try { + if (cert != null) { + final bytes = utf8.encode(cert); + context.setTrustedCertificatesBytes(bytes); + } + } on TlsException catch (e) { + if (e.osError != null && + e.osError!.message.contains('CERT_ALREADY_IN_HASH_TABLE')) { + } else { + rethrow; + } } } - return HttpClient(context: context); + final client = HttpClient(context: context); + + if (AppConfig.httpProxy != null) { + client.findProxy = (uri) { + return "PROXY ${AppConfig.httpProxy};"; + }; + } + + return client; } static http.Client createHTTPClient() => IOClient(customHttpClient(ISRG_X1));