package Ġno . nav . f amil ie . integr as jon er . client . rest Ċ Ċ import Ġno . nav . f amil ie . http . client . Abstract Ping able RestClient Ċ import Ġno . nav . f amil ie . integr as jon er . fel les . Opp sl ag Exception Ċ import Ġno . nav . f amil ie . integr as jon er . sak . Sk yg ges ak Ċ import Ġno . nav . f amil ie . log . mdc . M DC Constants Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . slf 4 j . M DC Ċ import Ġorg . springframework . beans . factory . annotation . Qualifier Ċ import Ġorg . springframework . beans . factory . annotation . Value Ċ import Ġorg . springframework . http . HttpHeaders Ċ import Ġorg . springframework . http . HttpStatus Ċ import Ġorg . springframework . stereotype . Component Ċ import Ġorg . springframework . web . client . HttpClient ErrorException Ċ import Ġorg . springframework . web . client . HttpStatusCode Exception Ċ import Ġorg . springframework . web . client . Rest ClientException Ċ import Ġorg . springframework . web . client . Rest Operations Ċ import Ġjava . net . URI Ċ Ċ @ Component Ċ class ĠSk yg ges ak RestClient (@ Value ("\ ${ SK YG GE _ SA K _ URL }") Ġprivate Ġval Ġsk yg ges ak Url : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Qualifier (" sts ") Ġprivate Ġval Ġrest Template : ĠRest Operations ) ĊĠĠĠ Ġ: ĠAbstract Ping able RestClient ( rest Template , Ġ" sk yg ges ak . sak ") Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġping Uri : ĠURI Ġ= ĠURI . create ("$ sk yg ges ak Url / internal / alive ") ĊĠĠĠ Ġprivate Ġval Ġs ak Uri Ġ= ĠURI . create ("$ sk yg ges ak Url / api / v 1 / s aker ") ĊĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( Sk yg ges ak RestClient :: class . java ) ĊĊĠĠĠ Ġfun Ġopp rett S ak ( request : ĠSk yg ges ak ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost For Entity < Sk yg ges ak >( sak Uri , Ġrequest , Ġhttp Headers ()) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠHttpClient ErrorException . Conflict ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" Sk yg ges ak Ġall ere de Ġopp rett et Ġfor Ġf ags ak Ġ${ request . f ags ak Nr }") ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠRest ClientException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġfe il meld ing Ġ= Ġ" Fe il Ġved Ġopp ret ting Ġav Ġsk yg ges ak Ġi Ġs ak . Ġurl =$ sak Uri " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( e Ġis ĠHttpStatusCode Exception Ġ&& Ġe . response Body AsString . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfe il meld ing Ġ+= Ġ" ĠResponse Ġf ra ĠS ak Ġ= Ġ${ e . response Body AsString }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠO pp sl ag Exception ( fe il meld ing , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" sk yg ges ak ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠO pp sl ag Exception . Level . MEDIUM , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHttpStatus . INTERNAL _ SERVER _ ERROR , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhttp Headers (): ĠHttp Headers Ġ= ĠHttp Headers (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġadd ( X _ COR REL ATION _ ID , ĠM DC . get ( M DC Constants . M DC _ CALL _ ID )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠX _ COR REL ATION _ ID Ġ= Ġ" X - Correlation - ID " ĊĠĠĠ Ġ} Ċ } ĊĊ