package Ġmil an Ċ Ċ import Ġcom . m ash ape . un ire st . http . Un ire st Ċ import Ġorg . apache . http . conn . ssl . SSL Connection Socket Factory Ċ import Ġorg . apache . http . impl . client . HttpClient s Ċ import Ġorg . js oup . J soup Ċ import Ġorg . js oup . select . Elements Ċ import Ġjava . security . cert . X 5 0 9 Certificate Ċ import Ġjavax . net . ssl . Https URLConnection Ċ import Ġjavax . net . ssl . SSL Context Ċ import Ġjavax . net . ssl . Trust Manager Ċ import Ġjavax . net . ssl . X 5 0 9 Trust Manager Ċ Ċ class ĠKo leg ium S me Provider Ġ: ĠMenu Provider Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Un ire st () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Menu (): ĠMenu Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= ĠUn ire st . get (" https :// rest aur ac ie . s me . sk / rest aur ac ia / ap art many - ko leg ium _ 5 4 9 8 - pres ov _ 2 9 1 2 / den ne - menu "). asString (). body ĊĊĠĠĠĠĠĠĠ Ġval Ġdocument Ġ= ĠJ soup . parse ( content ) ĊĠĠĠĠĠĠĠ Ġval Ġrows Ġ= Ġdocument . select (" div . dn es ne _ menu > div . j ed lo _ po lo z ka ") ĊĊĠĠĠĠĠĠĠ Ġif Ġ( rows . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcreate Menu From Rows ( rows ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġcreate Menu NotFound () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Menu From Rows ( elements : ĠElements ): ĠMenu Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitems Ġ= Ġelements . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġit . select (" div . left "). text () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprice Ġ= Ġit . select (" span . right > b "). text () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ title . trim () }\ t [ ${ price . trim ()} ]" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠMenu ( true , Ġitems ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Menu NotFound (): ĠMenu Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMenu ( false ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Un ire st () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtrust All Certs Ġ= ĠarrayOf < Trust Manager >( object Ġ: ĠX 5 0 9 Trust Manager Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Accepted Iss u ers (): ĠArray < X 5 0 9 Certificate >? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcheck Client Trusted ( certs : ĠArray < X 5 0 9 Certificate >, Ġauth Type : ĠString ) Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcheck Server Trusted ( certs : ĠArray < X 5 0 9 Certificate >, Ġauth Type : ĠString ) Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġssl context Ġ= ĠSSL Context . getInstance (" SSL ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġssl context . init ( null , Ġtrust All Certs , Ġjava . security . Secure Random ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHttp s URLConnection . setDefault SS LS ocket Factory ( ssl context . socket Factory ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġssl sf Ġ= ĠSSL Connection Socket Factory ( ssl context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhttp client Ġ= ĠHttpClient s . custom (). set SS LS ocket Factory ( ss ls f ). build () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUn ire st . set HttpClient ( http client ) ĊĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }