package Ġio . github . ack eec z . ret ro ceptor . core Ċ Ċ import Ġokhttp 3 . Interceptor Ċ import Ġokhttp 3 . Response Ċ Ċ /** Ċ Ġ* ĠInter ceptor Ġthat Ġadds ĠAuthorization Ġheader Ġwith Ġaccess Ġtoken Ġfrom Ġ[ OAuth Store ] Ġto ĠHttp Ġrequests . Ċ Ġ*/ Ċ class ĠOAuth Header Interceptor Ġinternal Ġconstructor ( private Ġval Ġauth Store : ĠAuth Store < OAuth Credentials >) Ġ: ĠInter ceptor Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġintercept ( chain : ĠInter ceptor . Chain ): ĠResponse Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Request Ġ= Ġchain . request () ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= Ġoriginal Request . newBuilder () ĊĊĠĠĠĠĠĠĠ Ġval ĠaccessToken Ġ= Ġauth Store . auth Credentials ?. accessToken ?. take If Ġ{ Ġit . isNotBlank () Ġ} ĊĠĠĠĠĠĠĠ ĠaccessToken ?. let Ġ{ Ġtoken Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . add Header (" Authorization ", Ġ" Bearer Ġ$ token ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġchain . proceed ( builder . build ()) ĊĠĠĠ Ġ} Ċ } Ċ