package Ġno . nav . p aw proxy . person Ċ Ċ import Ġio . ktor . application .* Ċ import Ġio . ktor . client .* Ċ import Ġio . ktor . client . features .* Ċ import Ġio . ktor . client . request .* Ċ import Ġio . ktor . client . statement .* Ċ import Ġio . ktor . features .* Ċ import Ġio . ktor . request .* Ċ import Ġio . ktor . response .* Ċ import Ġio . ktor . routing .* Ċ import Ġno . nav . p aw proxy . app . logger Ċ import Ġno . nav . p aw proxy . app . require Property Ċ import Ġno . nav . p aw proxy . http . forward Get Ċ import Ġno . nav . p aw proxy . oauth 2 . Token Service Ċ import Ġno . nav . p aw proxy . oauth 2 . ve ilar b person ĊĊ Ċ fun ĠRoute . ve ilar b person Route ( httpClient : ĠHttpClient , Ġtoken Service : ĠToken Service ) Ġ{ ĊĊĠĠĠ Ġroute ("/ ve ilar b person { ... }") Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġve ilar b person BaseUrl Ġ= Ġrequire Property (" VE IL ARB PERSON _ URL ") ĊĊĠĠĠĠĠĠĠ Ġget Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpath Ġ= Ġcall . request . uri ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠaccessToken : ĠString Ġ= Ġtoken Service . get AccessToken ( call , Ġve ilar b person ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . run Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠhttpClient . forward Get < String >(" $ ve ilar b person BaseUrl $ path ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader (" Authorization ", Ġ" Bearer Ġ$ accessToken ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader (" Nav - Consumer - Id ", Ġcall . request . header (" Nav - Consumer - Id ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall . call Id ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader (" Nav - Call - Id ", Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall . request . header (" Nav - Consumer - Id ") ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader (" Nav - Consumer - Id ", Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. fold ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" Respons Ġf ra Ġve ilar b person Ġmed Ġpath Ġ$ path : Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall . respond Text ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Failure Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexception Ġ= Ġit Ġas ĠResponse Exception ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . warn (" Fe il Ġmot Ġve ilar b person Ġmed Ġpath Ġ$ path : Ġ${ it . message }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall . respond Bytes ( status Ġ= Ġexception . response . status , Ġbytes Ġ= Ġexception . response . read Bytes ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ