/* Ċ Ġ* ĠCopyright Ġ 2 0 2 2 Ġsun j ich ang Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . j do it . ok net . worker . okhttp 3 Ċ Ċ import Ġcom . j do it . ok net . IN et Worker Ċ import Ġcom . j do it . ok net . Net Helper Ċ import Ġcom . j do it . ok net . utils . Net Logger Ċ import Ġcom . j do it . ok net . Net Request Ċ import Ġcom . j do it . ok net . Ok Net Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġjavax . net . ssl . Hostname Verifier Ċ import Ġjavax . net . ssl . SSL Session Ċ Ċ /** Ċ Ġ* Ġ@ Author : Ġsun j ich ang Ġ( https :// github . com / sun jc 5 3 yy ) Ċ Ġ* Ġ@ Project : Ġhttps :// github . com / sun jc 5 3 yy / ok net . git Ċ Ġ* Ġ@ Date : Ġ 2 0 2 2 / 3 / 8 Ġ 9 : 2 6 Ġä¸ĭåįĪ Ċ Ġ* Ġ@ Description : Ċ Ġ*/ Ċ class ĠOk Http Worker Factory Ġprivate Ġconstructor (): ĠIN et Worker . Factory () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġok HttpClient Ġ: ĠOk HttpClient ? Ġ= Ġnull ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate () Ġ: ĠIN et Worker . Factory Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNet Logger . print (" use ĠOk Http Worker ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠOk Http Worker Factory () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġ< T > Ġget ( request : ĠNet Request < T >, Ġok Net : ĠOk Net ): ĠIN et Worker < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġworker Ġ= ĠOk Http Worker ( request , Ġok Net ) ĊĠĠĠĠĠĠĠ Ġworker . set Client ( getClient ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġworker ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Synchron ized ĊĠĠĠ Ġprivate Ġfun ĠgetClient () Ġ: ĠOk HttpClient { ĊĠĠĠĠĠĠĠ Ġif Ġ( null Ġ!= Ġok HttpClient ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġok HttpClient !! ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( Ok Http Cache Intercept ()) ĊĠĠĠĠĠĠĠ Ġval Ġssl Socket Factory Ġ= ĠNet Helper . instance . get Http SS LS ocket Factory () ĊĠĠĠĠĠĠĠ Ġssl Socket Factory ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . ssl Socket Factory ( it , ĠNet Helper . instance . get Trust Manager () !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbuilder . hostname Verifier ( Hostname Verifier Ġ{ Ġhostname , Ġsession Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNet Logger . print (" hostname =$ hostname , Ġsession =$ session ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhostname List Ġ= ĠNet Helper . instance . get Https Verifier Hostname List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ Hostname Verifier Ġhostname List ?. contains ( hostname ) Ġ?: Ġtrue ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġok HttpClient Ġ= Ġbuilder . build () ĊĠĠĠĠĠĠĠ Ġreturn Ġok HttpClient !! ĊĠĠĠ Ġ} Ċ }