package Ġde . gm uth . http Ċ Ċ /** Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 ĠGer hard ĠM uth Ċ Ġ*/ Ċ Ċ import Ġde . gm uth . ipp . core . I pp Response Ċ import Ġde . gm uth . ipp . core . I pp Status Ċ import Ġde . gm uth . log . Logging Ċ import Ġjava . io .* Ċ import Ġjava . net . URI Ċ Ċ class ĠHttpClient Mock ( config : ĠHttp . Config Ġ= ĠHttp . Config ()) Ġ: ĠHttp . Client ( config ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlog Ġ= ĠLogging . getLogger Ġ{} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġlateinit Ġvar Ġraw I pp Request : ĠByteArray ĊĠĠĠ Ġvar Ġhttp Status : ĠInt Ġ= Ġ 2 0 0 ĊĠĠĠ Ġvar Ġhttp Server : ĠString ? Ġ= Ġ" HttpClient Mock " ĊĠĠĠ Ġvar Ġhttp ContentType : ĠString ? Ġ= Ġ" application / ipp " ĊĠĠĠ Ġvar Ġhttp Content Stream : ĠInputStream ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġipp Response : ĠI pp Response ? Ġ= ĠI pp Response ( I pp Status . Successful Ok ) ĊĊĠĠĠ Ġfun Ġmock Response ( file : ĠFile ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhttp Content Stream Ġ= ĠFileInputStream ( file ) ĊĠĠĠĠĠĠĠ Ġipp Response Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmock Response ( fileName : ĠString , Ġdirectory : ĠString Ġ= Ġ" printer s ") Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock Response ( File ( directory , ĠfileName )) ĊĊĠĠĠ Ġoverride Ġfun Ġpost ( uri : ĠURI , ĠcontentType : ĠString , Ġwrite Content : Ġ( OutputStream ) Ġ-> ĠUnit , Ġchunk ed : ĠBoolean ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHttp . Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhttp Status , Ġhttp Server , Ġhttp ContentType , Ġipp Response ?. encode As InputStream () Ġ?: Ġhttp Content Stream ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġraw I pp Request Ġ= ĠByteArrayOutputStream (). also Ġ{ Ġwrite Content ( it ) Ġ}. toByteArray () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . info Ġ{ Ġ" post Ġ${ raw I pp Request . size } Ġbytes Ġipp Ġrequest Ġto Ġ$ uri Ġ-> Ġresponse Ġ'$ server ', Ġ$ status , Ġ${ this . contentType }" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ }