package Ġcom . push dy . core . network Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . android . vol ley .* Ċ import Ġcom . android . vol ley . toolbox .* Ċ import Ġcom . google . gson . Json Element Ċ import Ġkotlin . collections . HashMap ĊĊ Ċ /** Ċ Ġ* Ġ@ deprecated Ċ Ġ* Ċ Ġ* ĠM igr ated Ġto ĠP DY Request Singleton Ċ Ġ* Ċ Ġ* ĠFrom : Ċ Ġ* ĠĠĠĠĠ Ġval Ġrequest Ġ= ĠP DY Request ( context !! ) Ċ Ġ* Ċ Ġ* ĠTo : Ċ Ġ* ĠĠĠĠĠ Ġval Ġrequest Ġ= ĠP DY Request Singleton . getInstance ( context !! ) Ċ Ġ*/ Ċ class ĠP DY Request Ġ{ ĊĠĠĠ Ġvar Ġdefault Timeout : ĠInt Ġ= Ġ 3 0 Ġ* Ġ 1 0 0 0 ĊĠĠĠ Ġvar Ġtimeout Ġ= Ġdefault Timeout ĊĊĠĠĠ Ġvar Ġcontext : ĠContext ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġqueue : Request Queue ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . context Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġif Ġ( this . context Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . queue Ġ= ĠVol ley . new Request Queue ( this . context ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġvar Ġdefault Headers : ĠHashMap < String , ĠString > Ġ= Ġhash Map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Content - Type " Ġto Ġ" application / json ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Accept " Ġto Ġ" application / json " ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġrequest ( url : ĠString , Ġmethod : ĠInt , Ġheaders : Map < String , ĠString > ?, Ġparams : Json Element ?, Ġcompletion :( response : Json Element ?) Ġ-> ĠUnit ?, Ġfailure :( code : Int , Ġmessage : String ?) Ġ-> ĠUnit ?) Ġ: ĠP DY Json Request Ġ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġobject Ġ: ĠP DY Json Request ( method , Ġurl , Ġparams , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResponse . Listener Ġ{ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion ( response ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResponse . Error Listener Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( error . network Response Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfailure ( error . network Response . statusCode , Ġerror . network Response . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfailure (- 1 , Ġerror . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Throws ( Auth Failure Error :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Headers (): ĠMap < String , ĠString > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġheader Params : ĠHashMap < String , ĠString >? ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( super . getHeaders () Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader Params Ġ= ĠHashMap ( super . getHeaders ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader Params Ġ= ĠHashMap () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader Params . put All ( default Headers ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( headers Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader Params . put All ( headers ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġheader Params ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . queue ?. add ( request ) ĊĠĠĠĠĠĠĠ Ġreturn Ġrequest ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget ( url : ĠString , Ġheaders : Map < String , ĠString > ?, Ġparams : Json Element ?, Ġcompletion :( response : Json Element ?) Ġ-> ĠUnit ?, Ġfailure :( code : Int , Ġmessage : String ?) Ġ-> ĠUnit ?) Ġ: ĠP DY Json Request Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . request ( url , ĠRequest . Method . GET , Ġheaders , Ġparams , Ġcompletion , Ġfailure ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġpost ( url : ĠString , Ġheaders : Map < String , ĠString > ?, Ġparams : Json Element ?, Ġcompletion :( response : Json Element ?) Ġ-> ĠUnit ?, Ġfailure :( code : Int , Ġmessage : String ?) Ġ-> ĠUnit ?) Ġ: ĠP DY Json Request Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . request ( url , ĠRequest . Method . POST , Ġheaders , Ġparams , Ġcompletion , Ġfailure ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġput ( url : ĠString , Ġheaders : Map < String , ĠString > ?, Ġparams : Json Element ?, Ġcompletion :( response : Json Element ?) Ġ-> ĠUnit ?, Ġfailure :( code : Int , Ġmessage : String ?) Ġ-> ĠUnit ?) Ġ: ĠP DY Json Request Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . request ( url , ĠRequest . Method . PUT , Ġheaders , Ġparams , Ġcompletion , Ġfailure ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete ( url : ĠString , Ġheaders : Map < String , ĠString > ?, Ġparams : Json Element ?, Ġcompletion :( response : Json Element ?) Ġ-> ĠUnit ?, Ġfailure :( code : Int , Ġmessage : String ?) Ġ-> ĠUnit ?) Ġ: ĠP DY Json Request Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . request ( url , ĠRequest . Method . DELETE , Ġheaders , Ġparams , Ġcompletion , Ġfailure ) ĊĠĠĠ Ġ} Ċ }