package Ġedu . c sh . ch ase . sprint . websocket s Ċ Ċ import Ġedu . c sh . ch ase . sprint .* Ċ import Ġedu . c sh . ch ase . sprint . parameters . Url Parameters Ċ import Ġokhttp 3 . Headers Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġok io . ByteString Ċ import Ġjava . io . IOException Ċ Ċ class ĠBasic WebSocket ( request : ĠRequest , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġcallbacks : ĠWebSocket Callbacks , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient : ĠOk HttpClient , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġretries : ĠBack off Timeout Ġ= ĠBack off Timeout . Exponent ial ( 5 0 0 , Ġ 2 , Ġ 3 0 0 0 0 0 L , Ġ 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauto Connect : ĠBoolean Ġ= Ġfalse ) Ġ: ĠWebSocket ( request , Ġclient , Ġretries , Ġauto Connect ) Ġ{ ĊĊĠĠĠ Ġconstructor ( url : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient : ĠOk HttpClient Ġ= ĠS print . web Socket Client , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallbacks : ĠWebSocket Callbacks , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Parameters : ĠUrl Parameters ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheaders : ĠHeaders . Builder Ġ= ĠHeaders . Builder (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Data : ĠAny ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġretries : ĠBack off Timeout Ġ= ĠBack off Timeout . Exponent ial ( 5 0 0 , Ġ 2 , Ġ 3 0 0 0 0 0 L , Ġ 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauto Connect : ĠBoolean Ġ= Ġfalse ) Ġ: Ġthis ( getRequest ( url , Ġurl Parameters , Ġheaders , Ġextra Data ), Ġcallbacks , ĊĠĠĠĠĠĠĠ Ġclient , Ġretries , Ġauto Connect ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Connect ( response : ĠResponse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcallbacks . on Connect ( response ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Disconnect ( disconnect Code : ĠInt , Ġreason : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġcallbacks . on Disconnect ( disconnect Code , Ġreason ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonError ( exception : ĠIOException , Ġresponse : ĠResponse ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġcallbacks . onError ( exception , Ġresponse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmessage Received ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcallbacks . message Received ( message ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmessage Received ( message : ĠByte String ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcallbacks . message Received ( message ) ĊĠĠĠ Ġ} Ċ }