package Ġcom . info bip . k af k ist ry . webapp . hostname Ċ Ċ import Ġorg . springframework . boot . context . properties . Configuration Properties Ċ import Ġorg . springframework . stereotype . Component Ċ import Ġjava . net . Inet Address Ċ import Ġjava . util .* Ċ Ċ @ Component Ċ @ Configuration Properties (" app . hostname ") Ċ class ĠHost name Properties Ġ{ ĊĠĠĠ Ġvar Ġproperty Ġ= Ġ"" ĊĠĠĠ Ġvar Ġvalue Ġ= Ġ"" Ċ } Ċ Ċ @ Component Ċ class ĠHost name Resolver ( ĊĠĠĠ Ġprivate Ġval Ġproperties : ĠHost name Properties , Ċ ) Ġ{ ĊĊĠĠĠ Ġval Ġhostname : ĠString Ġ= Ġresolve Hostname () ĊĊĠĠĠ Ġprivate Ġfun Ġresolve Hostname (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġos Ġ= ĠSystem . getProperty (" os . name "). lowercase ( Locale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperties . value . isNotBlank () Ġ-> Ġproperties . value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperties . property . isNotBlank () Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getProperty ( properties . property ) Ġ?: ĠSystem . getenv ( properties . property ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" win " Ġin Ġos Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv (" COMP UT ER NAME ") Ġ?: Ġexec Hostname () Ġ?: Ġlocalhost Hostname () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" nix ", Ġ" nux ", Ġ" mac Ġos Ġx "). any Ġ{ Ġit Ġin Ġos Ġ} Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv (" HOSTNAME ") Ġ?: Ġexec Hostname () Ġ?: Ġlocalhost Hostname () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ?. replace CRL F () Ġ?: Ġ"[ unknown ]" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġexec Hostname (): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRuntime . get Runtime (). exec ( array Of (" hostname ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inputStream . reader ( Charsets . UTF _ 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. read Text () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. trim () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. take If Ġ{ Ġit . isNotBlank () Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ(_ : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlocalhost Hostname (): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠInet Address . getLocal Host (). host Name ?. take If Ġ{ Ġit Ġ!= Ġ" localhost " Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ(_ : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠString . replace CRL F () Ġ= Ġreplace ('\ n ', Ġ' Ġ'). replace ('\ r ', Ġ' Ġ') Ċ } Ċ