@@ -378,6 +378,62 @@ class CookiesTest {
378378 assertThat(request.headers[" Quux" ]).isNull()
379379 }
380380
381+ @Test
382+ fun cookieHandlerWithQuotedValueAndTrailingSpace () {
383+ server.enqueue(MockResponse ())
384+ val serverUrl = urlWithIpAddress(server, " /" )
385+ val androidCookieHandler: CookieHandler =
386+ object : CookieHandler () {
387+ override fun get (
388+ uri : URI ,
389+ map : Map <String , List <String >>,
390+ ) = mapOf (
391+ " Cookie" to
392+ listOf (
393+ " a=\" android \" " ,
394+ ),
395+ )
396+
397+ override fun put (
398+ uri : URI ,
399+ map : Map <String , List <String >>,
400+ ) {
401+ }
402+ }
403+ client =
404+ client
405+ .newBuilder()
406+ .cookieJar(JavaNetCookieJar (androidCookieHandler))
407+ .build()
408+ get(serverUrl)
409+ val request = server.takeRequest()
410+ assertThat(request.headers[" Cookie" ]).isEqualTo(" a=android" )
411+ assertThat(request.headers[" Quux" ]).isNull()
412+ }
413+
414+ @Test
415+ fun receiveAndSendUntrimmedCookie () {
416+ server.enqueue(
417+ MockResponse
418+ .Builder ()
419+ .addHeader(" Set-Cookie" , " a=\" android \" " )
420+ .build(),
421+ )
422+ server.enqueue(MockResponse ())
423+ val cookieManager = CookieManager (null , CookiePolicy .ACCEPT_ORIGINAL_SERVER )
424+ client =
425+ client
426+ .newBuilder()
427+ .cookieJar(JavaNetCookieJar (cookieManager))
428+ .build()
429+ get(urlWithIpAddress(server, " /" ))
430+ val request1 = server.takeRequest()
431+ assertThat(request1.headers[" Cookie" ]).isNull()
432+ get(urlWithIpAddress(server, " /" ))
433+ val request2 = server.takeRequest()
434+ assertThat(request2.headers[" Cookie" ]).isEqualTo(" a=android" )
435+ }
436+
381437 private fun urlWithIpAddress (
382438 server : MockWebServer ,
383439 path : String ,
0 commit comments