package Ġno . nav . s bl . rest Ċ Ċ import Ġno . nav . common . rest . client . RestClient Ċ import Ġno . nav . common . utils . Environment Utils Ċ import Ġno . nav . s bl . rest . domain . RS Context Ċ import Ġno . nav . s bl . service . Auth Context Service Ċ import Ġno . nav . s bl . service . Context Service Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . Request Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . http . HttpStatus Ċ import Ġorg . springframework . http . Response Entity Ċ import Ġorg . springframework . web . bind . annotation . GetMapping Ċ import Ġorg . springframework . web . bind . annotation . RequestMapping Ċ import Ġorg . springframework . web . bind . annotation . RestController Ċ import Ġjava . net . URI Ċ Ċ @ RestController Ċ @ RequestMapping ("/ redirect ") Ċ class ĠRedirect Ress urs Ġ@ Autowired Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġauth Context Utils : ĠAuth Context Service , ĊĠĠĠ Ġprivate Ġval Ġcontext Service : ĠContext Service Ċ ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġaa Register et BaseUrl Ġ= ĠEnvironment Utils . get Required Property (" AA REG _ URL ") ĊĠĠĠ Ġprivate Ġval Ġclient : ĠOk HttpClient Ġ= ĠRest Client . base Client () ĊĠĠĠ Ġprivate Ġval Ġlog Ġ= ĠLoggerFactory . getLogger ( Redirect Ress urs :: class . java ) ĊĊĠĠĠ Ġ@ GetMapping ("/ a are gister et ") ĊĠĠĠ Ġfun Ġaa Register et (): ĠResponseEntity < Unit > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtemporary Redirect ( aa Register et Url ( aktiv Context ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġaa Register et Url ( context : ĠRS Context ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaktiv B ru ker : ĠString Ġ= Ġcontext ?. aktiv B ru ker Ġ?: Ġreturn Ġaa Register et BaseUrl ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠRequest . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. url ("$ aa Register et BaseUrl / api / v 2 / redirect / sok / ar be id st aker ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Header (" Nav - Person ident ", Ġaktiv B ru ker ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġclient ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. new Call ( request ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire NotNull ( response . body ()). string () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaa Register et BaseUrl . also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error ("[ AA REG ] ĠBy tte Ġav Ġbru ker context Ġtil Ġurl Ġfe ilet ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġaktiv Context (): ĠRS Context ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġauth Context Utils . ident ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( context Service :: h ent Ve iled ers Context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. orElse ( null ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtemporary Redirect ( url : ĠString ) Ġ= ĠResponseEntity . status ( HttpStatus . FOUND ) ĊĠĠĠĠĠĠĠ Ġ. location ( URI . create ( url )) ĊĠĠĠĠĠĠĠ Ġ. build < Unit >() Ċ } Ċ