package Ġcom . am it . app . data . network Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . JsonObject Ċ import Ġretrofit 2 . Response Ċ import Ġjava . io . IOException Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġshe k har . Ċ Ġ*/ Ċ object ĠError Utils Ġ{ ĊĊĠĠĠ Ġfun Ġparse Error ( response : ĠResponse < *> /* , context : ĠContext */ ): ĠAPI Error Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconverter Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRet rofit ApiClient . ret rofit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. response Body Converter < API Error >( API Error :: class . java , ĠarrayOf Null s ( 0 )) ĊĊĠĠĠĠĠĠĠ Ġval Ġerror : ĠAPI Error ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġ= Ġconverter . convert ( response . error Body () !! ) !! ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠAPI Error () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġerror ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠ Ġ* ĠThis Ġmethod Ġis Ġused Ġto Ġget Ġthe Ġmessage Ġfield Ġfrom Ġ 4 0 1 Ġerror Ġbody . ĊĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġfun Ġ< T > Ġget ErrorMessage ( response : ĠResponse < T >? ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġresponse ?. error Body () !!. string () ĊĠĠĠĠĠĠĠ Ġval Ġerror Msg : ĠJsonObject Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGson (). fromJson ( error , ĠJsonObject :: class . java ) ĊĠĠĠĠĠĠĠ Ġif Ġ( error Msg . has (" message ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġerror Msg . get (" message "). asString ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( error Msg . has (" error ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġerror Msg . get (" error "). asString ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġresponse . message () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }