/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 Ġå¤§ åīį èī¯ ä»ĭ Ġ( OH MA E ĠR y os uke ) Ċ Ġ* Ċ Ġ* ĠThis Ġsoftware Ġis Ġreleased Ġunder Ġthe ĠMIT ĠLicense . Ċ Ġ* Ġhttp :// opensource . org / licenses / MIT Ċ Ġ*/ Ċ Ċ package Ġnet . mm 2 d . up np Ċ Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġnet . mm 2 d . up np . util . TestUtils Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . JUnit 4 Ċ import Ġjava . io . ByteArray InputStream Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġjava . io . IOException Ċ import Ġjava . net . Inet Address Ċ import Ġjava . net . Inet SocketAddress Ċ import Ġjava . net . URL Ċ Ċ @ Suppress (" Test FunctionName ", Ġ" Non Ascii Characters ") Ċ @ RunWith ( JUnit 4 :: class ) Ċ class ĠHttpRequest Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġset Method _ getMethod ãģ« åıį æĺł ãģķãĤĮãĤĭ () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . set Method ( Http . GET ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getMethod ()). isEqualTo ( Http . GET ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġset Url _ getAddress _ getPort _ get Uri ãģ« åıį æĺł ãģķãĤĮãĤĭ () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . set Url ( URL (" http :// 1 9 2 . 0 . 2 . 2 : 1 2 3 4 5 / cds / control "), Ġtrue ) ĊĠĠĠĠĠĠĠ Ġval Ġport Ġ= Ġ 1 2 3 4 5 ĊĠĠĠĠĠĠĠ Ġval Ġaddress Ġ= ĠInet Address . get ByName (" 1 9 2 . 0 . 2 . 2 ") ĊĠĠĠĠĠĠĠ Ġval Ġsocket Address Ġ= ĠInet SocketAddress ( address , Ġport ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getAddress String ()). isEqualTo (" 1 9 2 . 0 . 2 . 2 : 1 2 3 4 5 ") ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getHeader ( Http . HOST )). isEqualTo (" 1 9 2 . 0 . 2 . 2 : 1 2 3 4 5 ") ĊĠĠĠĠĠĠĠ ĠassertThat ( request . address ). isEqualTo ( address ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . port ). isEqualTo ( port ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . get SocketAddress ()). isEqualTo ( socket Address ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . get Uri ()). isEqualTo ("/ cds / control ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġset Url _ getAddress _ getPort _ get Uri ãģ« åıį æĺł ãģķãĤĮãĤĭ 1 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . set Url ( URL (" http :// [ 2 0 0 1 : db 8 :: 1 ]: 1 2 3 4 5 / cds / control "), Ġtrue ) ĊĠĠĠĠĠĠĠ Ġval Ġport Ġ= Ġ 1 2 3 4 5 ĊĠĠĠĠĠĠĠ Ġval Ġaddress Ġ= ĠInet Address . get ByName (" 2 0 0 1 : db 8 :: 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġsocket Address Ġ= ĠInet SocketAddress ( address , Ġport ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getAddress String ()). isEqualTo ("[ 2 0 0 1 : db 8 :: 1 ]: 1 2 3 4 5 ") ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getHeader ( Http . HOST )). isEqualTo ("[ 2 0 0 1 : db 8 :: 1 ]: 1 2 3 4 5 ") ĊĠĠĠĠĠĠĠ ĠassertThat ( request . address ). isEqualTo ( address ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . port ). isEqualTo ( port ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . get SocketAddress ()). isEqualTo ( socket Address ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . get Uri ()). isEqualTo ("/ cds / control ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠIOException :: class ) ĊĠĠĠ Ġfun Ġset Url _ http ä»¥ å¤ĸ ãģ¯ Exception () Ġ{ ĊĠĠĠĠĠĠĠ ĠHttpRequest . create (). set Url ( URL (" https :// 1 9 2 . 0 . 2 . 2 : 1 2 3 4 5 / cds / control "), Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠIOException :: class ) ĊĠĠĠ Ġfun Ġset Url _ port ãģĮ Unsigned Short Max ä»¥ä¸Ĭ ãģª ãĤī Exception () Ġ{ ĊĠĠĠĠĠĠĠ ĠHttpRequest . create (). set Url ( URL (" http :// 1 9 2 . 0 . 2 . 2 : 6 5 5 3 6 / cds / control "), Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġset Url _ false ãģ§ãģ¯ HOST ãģ« åıį æĺł ãģķãĤĮ ãģªãģĦ () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . set Url ( URL (" http :// 1 9 2 . 0 . 2 . 2 : 1 2 3 4 5 / cds / control ")) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getHeader ( Http . HOST )). isNull () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġread Data _ èªŃãģ¿ è¾¼ ãĤģ ãĤĭ ãģĵãģ¨ () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠinputStream Ġ= ĠTestUtils . getResource AsStream (" browse - request - length . bin ") ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . read Data ( inputStream ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getMethod ()). isEqualTo ( Http . POST ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . get Uri ()). isEqualTo ("/ cds / control ") ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getHeader ( Http . SOAP ACTION )). isEqualTo ( ACTION ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getHeader ( Http . CONNECTION )). isEqualTo ( Http . CLOSE ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getHeader ( Http . CONTENT _ TYPE )). isEqualTo ( Http . CONTENT _ TYPE _ DEFAULT ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getBody ()). isEqualTo ( TestUtils . getResource AsString (" browse - request . xml ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġread Data _ Chunk èªŃãģ¿ è¾¼ ãĤģ ãĤĭ ãģĵãģ¨ () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠinputStream Ġ= ĠTestUtils . getResource AsStream (" browse - request - chunk ed . bin ") ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . read Data ( inputStream ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getMethod ()). isEqualTo ( Http . POST ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . get Uri ()). isEqualTo ("/ cds / control ") ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getHeader ( Http . SOAP ACTION )). isEqualTo ( ACTION ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getHeader ( Http . CONNECTION )). isEqualTo ( Http . CLOSE ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getHeader ( Http . CONTENT _ TYPE )). isEqualTo ( Http . CONTENT _ TYPE _ DEFAULT ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getHeader ( Http . TRANSFER _ ENCODING )). isEqualTo ( Http . CHUNK ED ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getBody ()). isEqualTo ( TestUtils . getResource AsString (" browse - request . xml ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwrite Data _ æĽ¸ ãģį åĩº ãģĹãģ Į ãģ§ãģįãĤĭ ãģĵãģ¨ () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġso ap Ġ= ĠTestUtils . getResource AsString (" browse - request . xml ") ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Method ( Http . POST ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Url ( URL (" http :// 1 9 2 . 0 . 2 . 2 : 1 2 3 4 5 / cds / control "), Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Header ( Http . SOAP ACTION , ĠACTION ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Header ( Http . USER _ AGENT , ĠProperty . USER _ AGENT _ VALUE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Header ( Http . CONNECTION , ĠHttp . CLOSE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Header ( Http . CONTENT _ TYPE , ĠHttp . CONTENT _ TYPE _ DEFAULT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( soap , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġba os Ġ= ĠByteArrayOutputStream () ĊĠĠĠĠĠĠĠ Ġrequest . write Data ( ba os ) ĊĊĠĠĠĠĠĠĠ Ġval Ġb ais Ġ= ĠByteArrayInputStream ( ba os . toByteArray ()) ĊĠĠĠĠĠĠĠ Ġval Ġread Request Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġread Request . read Data ( ba is ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( read Request . start Line ). isEqualTo ( request . start Line ) ĊĠĠĠĠĠĠĠ ĠassertThat ( read Request . getBody ()). isEqualTo ( request . getBody ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwrite Data _ Chunk æĽ¸ ãģį åĩº ãģĹãģ Į ãģ§ãģįãĤĭ ãģĵãģ¨ () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġso ap Ġ= ĠTestUtils . getResource AsString (" browse - request . xml ") ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Method ( Http . POST ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Url ( URL (" http :// 1 9 2 . 0 . 2 . 2 : 1 2 3 4 5 / cds / control "), Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Header ( Http . SOAP ACTION , ĠACTION ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Header ( Http . USER _ AGENT , ĠProperty . USER _ AGENT _ VALUE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Header ( Http . CONNECTION , ĠHttp . CLOSE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Header ( Http . CONTENT _ TYPE , ĠHttp . CONTENT _ TYPE _ DEFAULT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Header ( Http . TRANSFER _ ENCODING , ĠHttp . CHUNK ED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Body ( soap , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġba os Ġ= ĠByteArrayOutputStream () ĊĠĠĠĠĠĠĠ Ġrequest . write Data ( ba os ) ĊĊĠĠĠĠĠĠĠ Ġval Ġb ais Ġ= ĠByteArrayInputStream ( ba os . toByteArray ()) ĊĠĠĠĠĠĠĠ Ġval Ġread Request Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġread Request . read Data ( ba is ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( read Request . start Line ). isEqualTo ( request . start Line ) ĊĠĠĠĠĠĠĠ ĠassertThat ( read Request . getBody ()). isEqualTo ( request . getBody ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġset Version _ getVersion ãģ§ åıĸå¾Ĺ ãģ§ãģįãĤĭ () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . set Version ( Http . HTTP _ 1 _ 0 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( request . version ). isEqualTo ( Http . HTTP _ 1 _ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġset Request Line _ method _ uri _ version ãģ« åıį æĺł ãģķãĤĮãĤĭ () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . set Start Line (" GET Ġ/ cds / control ĠHTTP / 1 . 1 ") ĊĊĠĠĠĠĠĠĠ ĠassertThat ( request . getMethod ()). isEqualTo ( Http . GET ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . get Uri ()). isEqualTo ("/ cds / control ") ĊĠĠĠĠĠĠĠ ĠassertThat ( request . version ). isEqualTo ( Http . HTTP _ 1 _ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠIllegalArgumentException :: class ) ĊĠĠĠ Ġfun Ġset Request Line _ ä¸į è¶³ ãģĮãģĤ ãĤĮãģ° Exception () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . set Start Line (" GET Ġ/ cds / control ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠHttpRequest _ ãĥĩãĤ£ ãĥ¼ãĥĹ ãĤ³ ãĥĶ ãĥ¼ ãģĮ ãģ§ãģįãĤĭ () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠinputStream Ġ= ĠTestUtils . getResource AsStream (" browse - request - length . bin ") ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . read Data ( inputStream ) ĊĊĠĠĠĠĠĠĠ Ġval Ġread Request Ġ= ĠHttpRequest . copy ( request ) ĊĠĠĠĠĠĠĠ ĠassertThat ( read Request . getMethod ()). isEqualTo ( request . getMethod ()) ĊĠĠĠĠĠĠĠ ĠassertThat ( read Request . get Uri ()). isEqualTo ( request . get Uri ()) ĊĠĠĠĠĠĠĠ ĠassertThat ( read Request . getHeader ( Http . SOAP ACTION )). isEqualTo ( request . getHeader ( Http . SOAP ACTION )) ĊĠĠĠĠĠĠĠ ĠassertThat ( read Request . getHeader ( Http . CONNECTION )). isEqualTo ( request . getHeader ( Http . CONNECTION )) ĊĠĠĠĠĠĠĠ ĠassertThat ( read Request . getHeader ( Http . CONTENT _ TYPE )). isEqualTo ( request . getHeader ( Http . CONTENT _ TYPE )) ĊĠĠĠĠĠĠĠ ĠassertThat ( read Request . getBody ()). isEqualTo ( request . getBody ()) ĊĊĠĠĠĠĠĠĠ Ġread Request . set Method ( Http . GET ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getMethod ()). isEqualTo ( Http . POST ) ĊĠĠĠĠĠĠĠ ĠassertThat ( read Request . getMethod ()). isEqualTo ( Http . GET ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠIllegalStateException :: class ) ĊĠĠĠ Ġfun Ġget Address String _ æľª è¨Ńå®ļ ãģª ãĤī Exception () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . getAddress String () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Address String _ IPv 4 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaddress Ġ= Ġ" 1 9 2 . 1 6 8 . 0 . 1 " ĊĠĠĠĠĠĠĠ Ġval Ġport Ġ= Ġ 8 0 8 0 ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . address Ġ= ĠInet Address . get ByName ( address ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getAddress String ()). isEqualTo ( address ) ĊĠĠĠĠĠĠĠ Ġrequest . port Ġ= ĠHttp . DEFAULT _ PORT ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getAddress String ()). isEqualTo ( address ) ĊĠĠĠĠĠĠĠ Ġrequest . port Ġ= Ġport ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getAddress String ()). isEqualTo ("$ address :$ port ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Address String _ IPv 6 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaddress Ġ= Ġ":: 1 " ĊĠĠĠĠĠĠĠ Ġval Ġport Ġ= Ġ 8 0 8 0 ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . address Ġ= ĠInet Address . get ByName ( address ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getAddress String ()). isEqualTo (" [$ address ]") ĊĠĠĠĠĠĠĠ Ġrequest . port Ġ= ĠHttp . DEFAULT _ PORT ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getAddress String ()). isEqualTo (" [$ address ]") ĊĠĠĠĠĠĠĠ Ġrequest . port Ġ= Ġport ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getAddress String ()). isEqualTo (" [$ address ]: $ port ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠIllegalStateException :: class ) ĊĠĠĠ Ġfun Ġget SocketAddress _ æľª è¨Ńå®ļ ãģª ãĤī Exception () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . get SocketAddress () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġset Header Line _ è¨Ńå®ļ ãģ§ãģįãĤĭ () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . setHeader Line (" SOAP ACTION : Ġ$ ACTION ") ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getHeader ( Http . SOAP ACTION )). isEqualTo ( ACTION ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġset Header Line _ ãĥķãĤ© ãĥ¼ãĥ ŀ ãĥĥãĥĪ ãĤ¨ãĥ© ãĥ¼ ãģ§ ãĤĤ Exception ãģ¯ çĻº çĶŁ ãģĹãģªãģĦ () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . setHeader Line (" SOAP ACTION ") ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getHeader ( Http . SOAP ACTION )). isNull () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġis KeepAlive () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . set Version ( Http . HTTP _ 1 _ 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . is KeepAlive ()). isFalse () ĊĠĠĠĠĠĠĠ Ġrequest . set Version ( Http . HTTP _ 1 _ 1 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . is KeepAlive ()). isTrue () ĊĊĠĠĠĠĠĠĠ Ġrequest . setHeader ( Http . CONNECTION , ĠHttp . KEEP _ AL IVE ) ĊĠĠĠĠĠĠĠ Ġrequest . set Version ( Http . HTTP _ 1 _ 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . is KeepAlive ()). isTrue () ĊĠĠĠĠĠĠĠ Ġrequest . set Version ( Http . HTTP _ 1 _ 1 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . is KeepAlive ()). isTrue () ĊĊĠĠĠĠĠĠĠ Ġrequest . setHeader ( Http . CONNECTION , ĠHttp . CLOSE ) ĊĠĠĠĠĠĠĠ Ġrequest . set Version ( Http . HTTP _ 1 _ 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . is KeepAlive ()). isFalse () ĊĠĠĠĠĠĠĠ Ġrequest . set Version ( Http . HTTP _ 1 _ 1 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . is KeepAlive ()). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠgetContent Length _ æŃ£å¸¸ ç³» () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . setHeader ( Http . CONTENT _ LENGTH , Ġ" 1 0 ") ĊĠĠĠĠĠĠĠ ĠassertThat ( request . content Length ). isEqualTo ( 1 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠgetContent Length _ çķ ° å¸¸ ç³» () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . setHeader ( Http . CONTENT _ LENGTH , Ġ" length ") ĊĠĠĠĠĠĠĠ ĠassertThat ( request . content Length ). isEqualTo (- 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġset Body _ getBody ãģ§ åıĸå¾Ĺ ãģ§ãģįãĤĭ () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbody Ġ= Ġ" body " ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . set Body ( body ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getBody ()). isEqualTo ( body ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġset Body _ éķ· ãģķ 0 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbody Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . set Body ( body , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getBody ()). isEqualTo ( body ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getBody Binary () !!. size ). isEqualTo ( 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getHeader ( Http . CONTENT _ LENGTH )). isEqualTo (" 0 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġset Body Binary _ éķ· ãģķ 0 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠHttpRequest . create () ĊĠĠĠĠĠĠĠ Ġrequest . set Body Binary ( ByteArray ( 0 )) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getBody () !!. length ). isEqualTo ( 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( request . getBody Binary () !!. size ). isEqualTo ( 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠACTION Ġ= Ġ"\" urn : schemas - up np - org : service : Content Directory : 1 # Browse \"" ĊĠĠĠ Ġ} Ċ } Ċ