package Ġch . gene v aj ug . s config Ċ Ċ import Ġch . gene v aj ub . config . model . My Config Ċ import Ġch . gene v aj ug . event br ite . Event B rite Service Ċ import Ġch . gene v aj ug . event br ite . Event B rite Service Mock Ċ import Ġch . gene v aj ug . event br ite . Event B rit re Json Deserializer Ċ import Ġch . gene v aj ug . github . services . GitHub Service Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġfe ign . Fe ign Ċ import Ġfe ign . Logger Ċ import Ġfe ign . jackson . Jack son Decoder Ċ import Ġfe ign . jackson . Jack son Encoder Ċ import Ġfe ign . slf 4 j . Slf 4 j Logger Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . context . annotation . Bean Ċ import Ġorg . springframework . context . annotation . Configuration Ċ Ċ @ Configuration Ċ class ĠService S Config Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġlateinit Ġvar Ġmy Config : ĠMy Config ĊĊĊĠĠĠ Ġ@ Bean ĊĠĠĠ Ġfun Ġgit Hub Service ( mapper : ĠObjectMapper ): ĠGitHub Service Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn ĠFe ign . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. encoder ( Jack son Encoder ( mapper )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. decoder ( Jack son Decoder ( mapper )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. logger ( Slf 4 j Logger ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. logLevel ( Logger . Level . FULL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. request Interceptor Ġ{ Ġtemplate Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtoken Ġ= Ġmy Config . github . token ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġprintln (" Detected ĠAuthorization Ġtoken Ġfrom Ġenvironment Ġvariable ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate . header (" Accept ", Ġ" application / vnd . github . v 3 + json ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate . header (" Authorization ", Ġ" token Ġ$ token ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. target ( GitHub Service :: class . java , Ġ" https :// api . github . com ") ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Bean ĊĠĠĠ Ġfun Ġevent B rite Service ( mapper : ĠObjectMapper ): ĠEvent B rite Service Ġ{ ĊĠĠĠĠĠĠĠĠ Ġreturn ĠFe ign . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. encoder ( Jack son Encoder ( mapper )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. decoder ( Event B rit re Json Deserializer ( mapper )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. logger ( Slf 4 j Logger ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. logLevel ( Logger . Level . FULL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. request Interceptor Ġ{ Ġtemplate Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtoken Ġ= Ġmy Config . event br ite . token ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġprintln (" Detected ĠAuthorization Ġtoken Ġfrom Ġenvironment Ġvariable ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate . header (" Accept ", Ġ" application / json ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate . header (" Authorization ", Ġ" Bearer Ġ$ token ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. target ( Event B rite Service :: class . java , Ġmy Config . event br ite . host ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġevent B rite Service Mock ( mapper : ĠObjectMapper ): ĠEvent B rite Service Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠEvent B rite Service Mock ( mapper ) ĊĠĠĠ Ġ} Ċ }