import 'dart:io'; import 'package:paperless_mobile/di_initializer.config.dart'; import 'package:paperless_mobile/di_modules.dart'; import 'package:paperless_mobile/features/login/model/client_certificate.dart'; import 'package:get_it/get_it.dart'; import 'package:injectable/injectable.dart'; final getIt = GetIt.instance..allowReassignment; @InjectableInit( initializerName: r'$initGetIt', // default preferRelativeImports: true, // default asExtension: false, // default ) void configureDependencies() => $initGetIt(getIt); /// /// Registers new security context, which will be used by the HttpClient, see [RegisterModule]. /// void registerSecurityContext(ClientCertificate? cert) { var context = SecurityContext(); if (cert != null) { context = context ..usePrivateKeyBytes(cert.bytes, password: cert.passphrase) ..useCertificateChainBytes(cert.bytes, password: cert.passphrase) ..setTrustedCertificatesBytes(cert.bytes, password: cert.passphrase); } getIt.unregister(); getIt.registerSingleton(context); }