/* Ċ Ġ* ĠCopyright Ġ 2 0 1 4 - 2 0 1 9 ĠJetBrains Ġs . r . o Ġand Ġcontributors . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense . Ċ Ġ*/ Ċ Ċ package Ġio . ktor . client . engine . darwin Ċ Ċ import Ġio . ktor . client . engine .* Ċ import Ġplatform . Foundation .* Ċ Ċ /** Ċ Ġ* ĠChallenge Ġhandler Ġtype Ġfor Ġ[ NS URL Session ]. Ċ Ġ*/ Ċ public Ġtype alias ĠChallenge Handler Ġ= Ġ( ĊĠĠĠ Ġsession : ĠNSURL Session , ĊĠĠĠ Ġtask : ĠNSURL Session Task , ĊĠĠĠ Ġchallenge : ĠNSURL Authentication Challenge , ĊĠĠĠ Ġcompletion Handler : Ġ( NS URL Session Auth Challenge Disposition , ĠNSURL Credential ?) Ġ-> ĠUnit Ċ ) Ġ-> ĠUnit Ċ Ċ /** Ċ Ġ* ĠCustom Ġ[ Dar win Client Engine ] Ġconfig . Ċ Ġ*/ Ċ public Ġclass ĠDar win Client Engine Config Ġ: ĠHttpClient Engine Config () Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRequest Ġconfiguration . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġrequest Config : ĠNSMutable URL Request . () Ġ-> ĠUnit Ġ= Ġ{} ĊĠĠĠĠĠĠĠ Ġ@ Deprecated ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"[ request Config ] Ġproperty Ġis Ġdeprecated . ĠConsider Ġusing Ġ[ configure Request ] Ġinstead ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreplace With Ġ= ĠReplace With (" this . configure Request ( value )") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSession Ġconfiguration . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġsession Config : ĠNSURL Session Configuration . () Ġ-> ĠUnit Ġ= Ġ{} ĊĠĠĠĠĠĠĠ Ġ@ Deprecated ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"[ session Config ] Ġproperty Ġis Ġdeprecated . ĠConsider Ġusing Ġ[ configure Session ] Ġinstead ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreplace With Ġ= ĠReplace With (" this . configure Session ( value )") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠHandles Ġthe Ġchallenge Ġof ĠHTTP Ġresponses Ġ[ NS URL Session ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġchallenge Handler : ĠChallenge Handler ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠApp ends Ġblock Ġwith Ġ[ NS Mutable URL Request ] Ġconfiguration Ġto Ġ[ request Config ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġfun Ġconfigure Request ( block : ĠNSMutable URL Request . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġold Ġ= Ġrequest Config ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠĠĠĠĠ Ġrequest Config Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġold () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠApp ends Ġblock Ġwith Ġ[ NS URL Session Configuration ] Ġconfiguration Ġto Ġ[ session Config ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġfun Ġconfigure Session ( block : ĠNSURL Session Configuration . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġold Ġ= Ġsession Config ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠĠĠĠĠ Ġsession Config Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġold () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġ[ block ] Ġas Ġan ĠHTTP Ġrequest Ġchallenge Ġhandler Ġreplacing Ġthe Ġold Ġone . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġfun Ġhandle Challenge ( block : ĠChallenge Handler ) Ġ{ ĊĠĠĠĠĠĠĠ Ġchallenge Handler Ġ= Ġblock ĊĠĠĠ Ġ} Ċ } Ċ