package Ġorg . run est ar . client . web . ge Ċ Ċ import Ġorg . run est ar . client . web . body Handler Ċ import Ġjava . net . URI Ċ import Ġjava . net . http . HttpClient Ċ import Ġjava . net . http . HttpRequest Ċ import Ġjava . net . http . HttpResponse Ċ import Ġjava . util . concurrent . Comp letableFuture Ċ Ċ internal Ġclass ĠGe Graph Client ( private Ġval ĠhttpClient : ĠHttpClient ) Ġ{ ĊĊĠĠĠ Ġoperator Ġfun Ġget ( id : ĠInt ): ĠCompletableFuture < Ge Graph Result ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠhttpClient . send Async ( GET ( id ), Ġbody Handler ( HttpResponse . Body Sub scribers . of InputStream ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Apply Ġ{ Ġit . body ()?. let Ġ{ ĠGe Graph Result . of ( it ) Ġ} Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġurl ( id : ĠInt ) Ġ= ĠURI (" https :// services . run escape . com / m = item db _ old school / api / graph /$ id . json ") ĊĊĠĠĠĠĠĠĠ Ġfun ĠGET ( id : ĠInt ) Ġ= ĠHttpRequest . newBuilder ( url ( id )). build () ĊĠĠĠ Ġ} Ċ }