Skip to content

Commit f04c5e0

Browse files
authored
Merge pull request #1651 from daizhenyu/2.1.x-fix-okhttp-bug
fix the issue that xds routing fails when okhttp2.2.0 is used
2 parents 26c6fad + cfead64 commit f04c5e0

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

sermant-plugins/sermant-router/spring-router-plugin/src/main/java/io/sermant/router/spring/interceptor/OkHttpClientInterceptorChainInterceptor.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package io.sermant.router.spring.interceptor;
1818

1919
import com.squareup.okhttp.Headers;
20-
import com.squareup.okhttp.HttpUrl;
2120
import com.squareup.okhttp.Request;
2221

2322
import io.sermant.core.common.LoggerFactory;
@@ -31,6 +30,7 @@
3130

3231
import java.io.IOException;
3332
import java.net.URI;
33+
import java.net.URL;
3434
import java.util.HashMap;
3535
import java.util.Map;
3636
import java.util.Optional;
@@ -89,8 +89,15 @@ private Map<String, String> getHeaders(Request request) {
8989
}
9090

9191
private Request rebuildRequest(Request request, URI uri, ServiceInstance serviceInstance) {
92+
URL url = null;
93+
try {
94+
url = new URL(BaseHttpRouterUtils.rebuildUrlByXdsServiceInstance(uri, serviceInstance));
95+
} catch (IOException e) {
96+
LOGGER.log(Level.WARNING, "Convert url string to url failed.", e.getMessage());
97+
return request;
98+
}
9299
return request.newBuilder()
93-
.url(HttpUrl.parse(BaseHttpRouterUtils.rebuildUrlByXdsServiceInstance(uri, serviceInstance)))
100+
.url(url)
94101
.build();
95102
}
96103

0 commit comments

Comments
 (0)