package Ġnl . alt ind ag . client . service Ċ Ċ import Ġnl . alt ind ag . client . Constants Ċ import Ġnl . alt ind ag . client . model . ClientResponse Ċ import Ġorg . await ility . Await ility . await Ċ import Ġorg . http 4 k . client . Async HttpClient Ċ import Ġorg . http 4 k . core . Method Ċ import Ġorg . http 4 k . core . Request Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ abstract Ġclass ĠHttp 4 k Async Client Service ( val Ġclient : ĠAsync HttpClient ): ĠRequest Service Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġexecute Request ( url : ĠString ): ĠClient Response Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresponse : ĠClient Response ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġclient ( Request ( Method . GET , Ġurl ). header ( Constants . HEADER _ KEY _ CLIENT _ TYPE , Ġclient Type . value )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Ġ= ĠClient Response ( it . body String (), Ġit . status . code ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠWaiting Ġtill Ġthe Ġasync Ġcall Ġfinishes ĊĠĠĠĠĠĠĠ Ġreturn Ġawait () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. at Most ( 5 0 0 , ĠTimeUnit . MILLISECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. until Ġ{ Ġresponse Ġ!= Ġnull Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ Ġresponse Ġ} !! ĊĠĠĠ Ġ} Ċ Ċ }