package Ġno . nav . person br uk er . dit tn av . api . config Ċ Ċ import Ġio . ktor . client . HttpClient Ċ import Ġio . ktor . client . features . timeout Ċ import Ġio . ktor . client . request .* Ċ import Ġio . ktor . http . HttpHeaders Ċ import Ġio . ktor . http . HttpMethod Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġno . nav . person br uk er . dit tn av . api . token x . AccessToken Ċ import Ġno . nav . person br uk er . dit tn av . common . security . Authenticated User Ċ import Ġjava . net . URL Ċ Ċ suspend Ġinline Ġfun Ġ< re ified ĠT > ĠHttpClient . get ( url : ĠURL , Ġuser : ĠAuth enticated User ): ĠT Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġrequest < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġurl ( url ) ĊĠĠĠĠĠĠĠ Ġmethod Ġ= ĠHttpMethod . Get ĊĠĠĠĠĠĠĠ Ġheader ( HttpHeaders . Authorization , Ġuser . create Authentication Header ()) ĊĠĠĠ Ġ} Ċ } Ċ Ċ suspend Ġinline Ġfun Ġ< re ified ĠT > ĠHttpClient . get ( url : ĠURL , ĠaccessToken : ĠAccess Token ): ĠT Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġrequest < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġurl ( url ) ĊĠĠĠĠĠĠĠ Ġmethod Ġ= ĠHttpMethod . Get ĊĠĠĠĠĠĠĠ Ġheader ( HttpHeaders . Authorization , Ġ" Bearer Ġ${ accessToken . value }") ĊĠĠĠ Ġ} Ċ } Ċ Ċ suspend Ġinline Ġfun Ġ< re ified ĠT > ĠHttpClient . get Extended Timeout ( url : ĠURL , ĠaccessToken : ĠAccess Token ): ĠT Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġrequest < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġurl ( url ) ĊĠĠĠĠĠĠĠ Ġmethod Ġ= ĠHttpMethod . Get ĊĠĠĠĠĠĠĠ Ġheader ( HttpHeaders . Authorization , Ġ" Bearer Ġ${ accessToken . value }") ĊĠĠĠĠĠĠĠ Ġtimeout Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsocket Timeout Millis Ġ= Ġ 3 0 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconnect Timeout Millis Ġ= Ġ 1 0 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Timeout Millis Ġ= Ġ 4 0 0 0 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ suspend Ġinline Ġfun Ġ< re ified ĠT > ĠHttpClient . get Extended Timeout ( url : ĠURL , Ġuser : ĠAuth enticated User ): ĠT Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġrequest < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġurl ( url ) ĊĠĠĠĠĠĠĠ Ġmethod Ġ= ĠHttpMethod . Get ĊĠĠĠĠĠĠĠ Ġheader ( HttpHeaders . Authorization , Ġuser . create Authentication Header ()) ĊĠĠĠĠĠĠĠ Ġtimeout Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsocket Timeout Millis Ġ= Ġ 3 0 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconnect Timeout Millis Ġ= Ġ 1 0 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Timeout Millis Ġ= Ġ 4 0 0 0 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ suspend Ġinline Ġfun Ġ< re ified ĠT > ĠHttpClient . get With E sso Token Header ( url : ĠURL , Ġuser : ĠAuth enticated User ): ĠT Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠ Ġrequire ( user . aux iliary E sso Token Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ" Pr Ã¸ v de ĠÃ¥ Ġset te Ġess o - token Ġsom Ġheader , Ġmen Ġf ant Ġdet Ġik ke Ġfor Ġinn log get Ġbru ker ." ĊĠĠĠ Ġ} ĊĠĠĠ Ġrequest < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġurl ( url ) ĊĠĠĠĠĠĠĠ Ġmethod Ġ= ĠHttpMethod . Get ĊĠĠĠĠĠĠĠ Ġheader ( HttpHeaders . Authorization , Ġuser . create Authentication Header ()) ĊĠĠĠĠĠĠĠ Ġheader (" nav - esso ", Ġuser . aux iliary E sso Token ) ĊĠĠĠ Ġ} Ċ } Ċ