package Ġcom . v imeo . networking 2 . internal . interceptor Ċ Ċ import Ġcom . v imeo . networking 2 . config . V imeo Api Configuration Ċ import Ġokhttp 3 . Http Url Ċ import Ġokhttp 3 . Interceptor Ċ import Ġokhttp 3 . Response Ċ import Ġok io . IOException Ċ Ċ /** Ċ Ġ* ĠAn Ġinterceptor Ġthat Ġensures Ġthat Ġonly Ġrequests Ġto Ġthe Ġhost Ġspecified Ġin Ġthe Ġ[ V imeo Api Configuration ] Ġare Ġmade . ĠThis Ċ Ġ* Ġprevents Ġunexpected Ġrequests Ġfrom Ġbeing Ġmade Ġto Ġother Ġhosts . Ċ Ġ* Ċ Ġ* Ġ@ param Ġv imeo Api Configuration ĠThe Ġconfiguration Ġused Ġto Ġdetermine Ġthe Ġexpected Ġhost . Ċ Ġ*/ Ċ class ĠHost Validation Interceptor ( private Ġval Ġv imeo Api Configuration : ĠV imeo Api Configuration ) Ġ: ĠInter ceptor Ġ{ ĊĠĠĠ Ġprivate Ġval Ġhttp Url Ġ= ĠHttp Url . parse ( v imeo Api Configuration . baseUrl ) ĊĊĠĠĠ Ġoverride Ġfun Ġintercept ( chain : ĠInter ceptor . Chain ): ĠResponse Ġ= ĊĠĠĠĠĠĠĠ Ġif Ġ( chain . request (). url (). host () Ġ!= Ġhttp Url ?. host ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIOException ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Host Ġmust Ġmatch Ġspecified Ġbase ĠURL , Ġwas Ġ${ chain . request (). url (). host ()}, Ġexpected Ġ${ http Url ?. host () }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchain . proceed ( chain . request ()) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ