package Ġno . fd k . endpoints . utils Ċ Ċ import Ġorg . springframework . http . HttpStatus Ċ import Ġjava . io . BufferedReader Ċ import Ġjava . net . Http URLConnection Ċ import Ġjava . net . URL Ċ Ċ fun Ġapi Get ( path : ĠString , Ġheaders : ĠMap < String , String >, Ġport : ĠInt ): ĠMap < String , Any > Ġ{ ĊĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconnection Ġ= ĠURL (" http :// localhost :$ port $ path "). open Connection () Ġas ĠHttp URLConnection ĊĠĠĠĠĠĠĠ Ġheaders . forEach Ġ{ Ġconnection . setRequest Property ( it . key , Ġit . value ) Ġ} ĊĠĠĠĠĠĠĠ Ġconnection . connect () ĊĊĠĠĠĠĠĠĠ Ġif ( is OK ( connection . response Code )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= Ġconnection . inputStream . buffered Reader (). use ( BufferedReader :: read Text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body " ĠĠ Ġto Ġresponse Body , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header " Ġto Ġconnection . header Fields . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" status " Ġto Ġconnection . response Code ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" status " Ġto Ġconnection . response Code , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" header " Ġto Ġ" Ġ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" body " ĠĠ Ġto Ġ" Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" status " Ġto Ġe . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" header " Ġto Ġ" Ġ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" body " ĠĠ Ġto Ġ" Ġ" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġis OK ( response : ĠInt ?): ĠBoolean Ġ= ĊĠĠĠ Ġif ( response Ġ== Ġnull ) Ġfalse ĊĠĠĠ Ġelse ĠHttpStatus . resolve ( response )?. is 2 xx Successful Ġ== Ġtrue Ċ