From dcb640c3dada70207fe0f7e303ee7a9287c3d0db Mon Sep 17 00:00:00 2001 From: "Kartikaya Gupta (kats)" Date: Thu, 3 Jul 2025 09:16:34 -0400 Subject: [PATCH] Fix breaking change from alpha.17 release (#8899) The semantics of the old path property included the query string, and should be mapped from the new `target` which is the equivalent field in the new recorded request. Using url.encodedPath only provides the path component and omits the query component, resulting in a breaking change. --- .../src/main/kotlin/okhttp3/mockwebserver/DeprecationBridge.kt | 2 +- .../src/test/java/okhttp3/mockwebserver/MockWebServerTest.kt | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/mockwebserver-deprecated/src/main/kotlin/okhttp3/mockwebserver/DeprecationBridge.kt b/mockwebserver-deprecated/src/main/kotlin/okhttp3/mockwebserver/DeprecationBridge.kt index 27c273435..0d14c2837 100644 --- a/mockwebserver-deprecated/src/main/kotlin/okhttp3/mockwebserver/DeprecationBridge.kt +++ b/mockwebserver-deprecated/src/main/kotlin/okhttp3/mockwebserver/DeprecationBridge.kt @@ -112,7 +112,7 @@ internal fun mockwebserver3.RecordedRequest.unwrap(): RecordedRequest = sequenceNumber = exchangeIndex, failure = failure, method = method, - path = url.encodedPath, + path = target, handshake = handshake, requestUrl = url, ) diff --git a/mockwebserver-deprecated/src/test/java/okhttp3/mockwebserver/MockWebServerTest.kt b/mockwebserver-deprecated/src/test/java/okhttp3/mockwebserver/MockWebServerTest.kt index 1fbccec4e..fe860b001 100644 --- a/mockwebserver-deprecated/src/test/java/okhttp3/mockwebserver/MockWebServerTest.kt +++ b/mockwebserver-deprecated/src/test/java/okhttp3/mockwebserver/MockWebServerTest.kt @@ -513,6 +513,7 @@ class MockWebServerTest { assertThat(request.requestLine).isEqualTo( "GET /a/deep/path?key=foo%20bar HTTP/1.1", ) + assertThat(request.path).isEqualTo("/a/deep/path?key=foo%20bar") val requestUrl = request.requestUrl assertThat(requestUrl!!.scheme).isEqualTo("http") assertThat(requestUrl.host).isEqualTo(server.hostName)