package Ġcom . cr az yle g end . ret rofit . intercept ors Ċ Ċ import Ġcom . cr az yle g end . ret rofit . throw ables . Unauthorized Exception Ċ import Ġokhttp 3 . Authenticator Ċ import Ġokhttp 3 . Request Ċ import Ġokhttp 3 . Response Ċ import Ġokhttp 3 . Route ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby Ġh rist ij an Ġon Ġ 1 0 / 2 1 / 1 9 Ġto Ġlong Ġlive Ġand Ġpro sper Ġ! Ċ Ġ*/ Ċ class ĠUnauthorized Interceptor ( private Ġval Ġcustom Message : ĠString ? Ġ= Ġnull ) Ġ: ĠAuth enticator Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval Ġun Authorized Ġ= Ġ 4 0 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġauthenticate ( route : ĠRoute ?, Ġresponse : ĠResponse ): ĠRequest Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! response . is Successful Ġ&& Ġresponse . code Ġ== Ġun Authorized ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnauthorized Exception ( custom Message ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġresponse . request ĊĠĠĠ Ġ} Ċ Ċ }