Derk-Jan Karrenbeld
11/02/2018, 1:08 AMNikky
11/02/2018, 1:09 AMNikky
11/02/2018, 1:09 AMDerk-Jan Karrenbeld
11/02/2018, 1:09 AMDerk-Jan Karrenbeld
11/02/2018, 1:10 AMNikky
11/02/2018, 1:10 AM@Test
fun testChunkedEncoding() {
mock.chain(
request = mock.request().withMethod(Method.GET.value).withPath("/stream"),
response = mock.response().withHeader(Headers.TRANSFER_ENCODING, "chunked").withBody(
"""4\r\n
|Wiki\r\n
|5\r\n
|pedia\r\n
|E\r\n
| in\r\n
|\r\n\n
|chunks.\r\n
|0\r\n
|\r\n""".trimMargin().toByteArray()
)
)
val (request, response, result) = mock.path("stream").httpGet()
.responseObject(object : ResponseDeserializable<List<String>> {
override fun deserialize(reader: Reader): List<String> {
val list: MutableList<String> = mutableListOf<String>()
reader.forEachLine { line ->
println(line)
list += line
}
return list
}
})
when(result) {
is Result.Success -> println(result.value)
is Result.Failure -> {
println(request.cUrlString())
fail("request failed")
}
}
}
Nikky
11/02/2018, 1:11 AMDerk-Jan Karrenbeld
11/02/2018, 1:13 AMNikky
11/02/2018, 1:16 AMNikky
11/02/2018, 1:16 AMDerk-Jan Karrenbeld
11/02/2018, 1:17 AMNikky
11/02/2018, 1:18 AMDerk-Jan Karrenbeld
11/02/2018, 1:19 AM4
Wiki
5
pedia
E
in
chunks.
0
[4, Wiki, 5, pedia, E, in, , , chunks., 0, ]
Nikky
11/02/2018, 1:19 AMNikky
11/02/2018, 1:19 AMDerk-Jan Karrenbeld
11/02/2018, 1:19 AMNikky
11/02/2018, 1:19 AMNikky
11/02/2018, 1:20 AMDerk-Jan Karrenbeld
11/02/2018, 1:21 AMDerk-Jan Karrenbeld
11/02/2018, 1:21 AMDerk-Jan Karrenbeld
11/02/2018, 1:21 AMNikky
11/02/2018, 1:24 AMNikky
11/02/2018, 1:24 AMNikky
11/02/2018, 1:24 AMDerk-Jan Karrenbeld
11/02/2018, 1:25 AMDerk-Jan Karrenbeld
11/02/2018, 1:29 AMNikky
11/02/2018, 1:33 AMDerk-Jan Karrenbeld
11/02/2018, 1:40 AMDerk-Jan Karrenbeld
11/02/2018, 1:42 AMDerk-Jan Karrenbeld
11/02/2018, 1:44 AM