package Ġio . github . j ok or ou kw u . ze phy rapi . http Ċ Ċ import Ġcom . github . kit tin un f . fuel . core . Fuel Manager Ċ import Ġcom . github . kit tin un f . fuel . core . Request Ċ import Ġcom . github . kit tin un f . fuel . core . Request Factory Ċ import Ġcom . github . kit tin un f . fuel . core . Response Ċ import Ġio . github . j ok or ou kw u . ze phy rapi . config . Ze phyr Config Ċ import Ġkotlinx . serialization . json . Json Ċ import Ġjava . net . URL Ċ import Ġjavax . net . ssl . Hostname Verifier Ċ import Ġjavax . net . ssl . SSL Context ĊĊ Ċ abstract Ġclass ĠAbstract Request Sender ( ĊĠĠĠ Ġprotected Ġval Ġjson Mapper : ĠJson , ĊĠĠĠ Ġprotected Ġval Ġrequest Factory : ĠRequest Factory . Con venience Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġno Validation Ġ= Ġ{ Ġ_: ĠResponse Ġ-> Ġtrue Ġ} ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDEFAULT _ TIMEOUT Ġ= Ġ 1 0 _ 0 0 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠBASE _ API _ URL Ġ= Ġ"/ rest / tests / 1 . 0 " ĊĠĠĠĠĠĠĠ Ġval Ġdefault Request Factory Ġ= ĠF uel Manager (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimeout In Millisecond Ġ= ĠDEFAULT _ TIMEOUT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimeout Read In Millisecond Ġ= ĠDEFAULT _ TIMEOUT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsocket Factory Ġ= Ġwith ( SSL Context . getInstance (" SSL ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinit ( null , ĠarrayOf ( Trust All Cert Manager ), Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsocket Factory ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhostname Verifier Ġ= ĠHost name Verifier Ġ{ Ġ_, Ġ_ Ġ-> Ġtrue Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġinline Ġfun ĠZe phyr Response . validate StatusCode ( ĊĠĠĠĠĠĠĠ Ġvalid Code : ĠInt Ġ= Ġ 2 0 0 , ĊĠĠĠĠĠĠĠ ĠerrorMessage : Ġ() Ġ-> ĠString ĊĠĠĠ Ġ): ĠZe phyr Response Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( statusCode Ġ!= Ġvalid Code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠZe phyr Exception ("${ errorMessage ()} : Ġ{ response _ message : Ġ$ response Message Ġas Ġserver Ġreturned Ġstatus Ġcode Ġ$ statusCode , Ġresponse _ body : Ġ${ getString Body ()}} ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun ĠRequest . t reat Response As Valid (): ĠRequest Ġ{ ĊĠĠĠĠĠĠĠ Ġexecution Options . response Validator Ġ= Ġno Validation ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun ĠURL . resolve Api Url ( other : ĠString ) Ġ= ĠtoString () Ġ+ ĠBASE _ API _ URL Ġ+ Ġother Ċ }