package Ġio . horizontal systems . bitcoin core . utils Ċ Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . Request Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ import Ġorg . junit . jupiter . api . Assertions .* Ċ import Ġjava . net . URL Ċ import Ġjavax . net . ssl . SSL Handshake Exception Ċ Ċ internal Ġclass ĠNetwork UtilsTest Ġ{ ĊĊĠĠĠ Ġ// ĠSystem Ġis Ġ ĠUnable Ġto Ġfind Ġvalid Ġcert ification Ġpath Ġto Ġbelow ĠURL ĊĠĠĠ Ġprivate Ġval ĠCERT _ ERROR _ TEST _ URL Ġ= Ġ" https :// cas hex plorer . bitcoin . com / api / sync /" ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Unsafe HttpRequest () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġassert DoesNot Throw Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdo Unsafe HttpRequest () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertThrows ( SSL Handshake Exception :: class . java ) Ġ{ Ġdo Safe HttpRequest () Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( SSL Handshake Exception :: class . java ) Ġ{ Ġdo Url Connection Request () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdo Safe HttpRequest () Ġ{ ĊĠĠĠĠĠĠĠ Ġdo Ok HttpRequest ( Ok HttpClient . Builder (). build ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdo Unsafe HttpRequest () Ġ{ ĊĠĠĠĠĠĠĠ Ġdo Ok HttpRequest ( Network Utils . get Unsafe Ok HttpClient ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdo Url Connection Request () Ġ{ ĊĠĠĠĠĠĠĠ ĠURL ( CERT _ ERROR _ TEST _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. open Connection () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconnect Timeout Ġ= Ġ 5 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġread Timeout Ġ= Ġ 6 0 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Request Property (" Accept ", Ġ" application / json ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. getInputStream () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Success ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdo Ok HttpRequest ( httpClient : ĠOk HttpClient ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠRequest . Builder (). url ( CERT _ ERROR _ TEST _ URL ). build () ĊĊĠĠĠĠĠĠĠ Ġreturn ĠhttpClient . new Call ( request ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// success ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }