package Ġorg . ny pl . simpl ified . card creator . network Ċ Ċ import Ġokhttp 3 . Credentials Ċ import Ġokhttp 3 . Interceptor Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ import Ġorg . ny pl . simpl ified . card creator . model . Address Ċ import Ġorg . ny pl . simpl ified . card creator . model . Validate Address Response Ċ import Ġorg . ny pl . simpl ified . card creator . model . Username Ċ import Ġorg . ny pl . simpl ified . card creator . model . Validate Username Response Ċ import Ġorg . ny pl . simpl ified . card creator . model . Pat ron Ċ import Ġorg . ny pl . simpl ified . card creator . model . Create Pat ron Response Ċ import Ġorg . ny pl . simpl ified . card creator . utils . Constants Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . mos hi . M oshi Converter Factory Ċ import Ġretrofit 2 . http . Body Ċ import Ġretrofit 2 . http . POST Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ internal Ġinterface ĠCard Creator Service Ġ{ ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠValid ates Ġthe Ġpat ron 's Ġaddress . ĠOnly Ġ' valid - address ' Ġand Ġ' non - res idential - address ' ĊĠĠ Ġ* Ġvalidations Ġwill Ġresult Ġin Ġa Ġlibrary Ġcard . ĠPat ron s Ġwith Ġaddresses Ġthat Ġresult Ġin Ġa ĊĠĠ Ġ* Ġ' non - res idential - address ' Ġvalidation Ġwill Ġreceive Ġ 3 0 - day Ġtemporary Ġcards Ġif Ġa Ġres idential ĊĠĠ Ġ* ĠN YS Ġaddress Ġis Ġnot Ġprovided . ĊĠĠ Ġ* ĊĠĠ Ġ* ĠDocs : Ġhttps :// github . com / NY PL - Simpl ified / card - creator / wiki / API --- V 2 # post - v 2 validate address ĊĠĠ Ġ*/ ĊĠ Ġ@ POST (" v 2 / validate / address ") ĊĠ Ġsuspend Ġfun Ġvalidate Address ( ĊĠĠĠ Ġ@ Body Ġaddress : ĠAddress ĊĠ Ġ): ĠValidate Address Response ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠValid ates Ġthe Ġpat ron 's Ġusername , Ġconfirm ing Ġboth Ġits Ġformat Ġand Ġits Ġavailability . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġhttps :// github . com / NY PL - Simpl ified / card - creator / wiki / API --- V 2 # post - v 2 validate username ĊĠĠ Ġ*/ ĊĠ Ġ@ POST (" v 2 / validate / username ") ĊĠ Ġsuspend Ġfun Ġvalidate Username ( ĊĠĠĠ Ġ@ Body Ġusername : ĠUsername ĊĠ Ġ): ĠValidate Username Response ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠCreates Ġa Ġlibrary Ġcard Ġfor Ġa Ġpat ron . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġhttps :// github . com / NY PL - Simpl ified / card - creator / wiki / API --- V 2 # post - v 2 create _ pat ron ĊĠĠ Ġ*/ ĊĠ Ġ@ POST (" v 2 / create _ pat ron ") ĊĠ Ġsuspend Ġfun Ġcreate Pat ron ( ĊĠĠĠ Ġ@ Body Ġpat ron : ĠPat ron ĊĠ Ġ): ĠCreate Pat ron Response ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġoperator Ġfun Ġinvoke ( auth Username : ĠString , Ġauth Password : ĠString ): ĠCard Creator Service Ġ{ ĊĠĠĠĠĠ Ġval Ġlogging Ġ= ĠHttp Logging Interceptor (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġlevel Ġ= ĠHttp Logging Interceptor . Level . HEADERS ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġval Ġauth Ġ= ĠInter ceptor Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġit . request (). newBuilder () ĊĠĠĠĠĠĠĠĠĠ Ġ. add Header ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Authorization ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCredentials . basic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauth Username , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauth Password ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġit . proceed ( request ) ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġval Ġclient Ġ= ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠ Ġ. connect Timeout ( 3 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠ Ġ. read Timeout ( 3 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠ Ġ. write Timeout ( 3 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠ Ġ. add Interceptor ( logging ) ĊĠĠĠĠĠĠĠ Ġ. add Interceptor ( auth ) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠ Ġ. client ( client ) ĊĠĠĠĠĠĠĠ Ġ. baseUrl ( Constants . LIBRARY _ SIMP LI FIED _ BASE _ URL ) ĊĠĠĠĠĠĠĠ Ġ. add Converter Factory ( M oshi Converter Factory . create ()) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ. create ( Card Creator Service :: class . java ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ