package Ġcom . rer ere . iw ara 4 a . util . okhttp Ċ Ċ import Ġandroid . util . Log Ċ import Ġjava . net . Inet Address Ċ import Ġjava . net . Socket Ċ import Ġjavax . net . ssl . SS LS ocket Ċ import Ġjavax . net . ssl . SS LS ocket Factory Ċ Ċ class ĠRuby SS LS ocket Factory Ġ: ĠSSL Socket Factory () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetDefault Cipher Su ites () Ġ= ĠarrayOf < String >() ĊĊĠĠĠ Ġoverride Ġfun Ġget Supported Cipher Su ites () Ġ= ĠarrayOf < String >() ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Socket ( socket : ĠSocket ?, Ġhost : ĠString ?, Ġport : ĠInt , Ġauto Close : ĠBoolean ): ĠSocket Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaddress Ġ= Ġsocket !!. inet Address ĊĠĠĠĠĠĠĠ Ġif Ġ( auto Close ) Ġsocket . close () ĊĠĠĠĠĠĠĠ Ġval Ġssl Socket Ġ= Ġ( getDefault (). create Socket ( address , Ġport ) Ġas ĠSSL Socket ). apply Ġ{ Ġenabled Protocols Ġ= Ġsupported Protocols Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġssl Session Ġ= Ġssl Socket . session ĊĠĠĠĠĠĠĠ ĠLog . i ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" !", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Address : Ġ${ address . host Address }, ĠProtocol : Ġ${ ssl Session . protocol }, ĠPeer Host : Ġ${ ssl Session . peer Host }, ĠCipher Suite : Ġ${ ssl Session . cipher Suite } ." ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġssl Socket ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Socket ( host : ĠString ?, Ġport : ĠInt ): ĠSocket ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Socket ( host : ĠString ?, Ġport : ĠInt , Ġlocal Host : ĠInet Address ?, Ġlocal Port : ĠInt ): ĠSocket ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Socket ( address : ĠInet Address ?, Ġport : ĠInt ): ĠSocket ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Socket ( address : ĠInet Address ?, Ġport : ĠInt , Ġlocal Address : ĠInet Address ?, Ġlocal Port : ĠInt ): ĠSocket ? Ġ= Ġnull Ċ }