Skip to content

Commit 8aaafa8

Browse files
committed
geocoding request should throw an exception for every not http 200
1 parent b18d576 commit 8aaafa8

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

client-hc/src/main/java/com/graphhopper/api/GraphHopperGeocoding.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@
2222
import com.graphhopper.api.model.GHGeocodingResponse;
2323
import okhttp3.OkHttpClient;
2424
import okhttp3.Request;
25+
import okhttp3.Response;
2526
import okhttp3.ResponseBody;
2627

28+
import java.io.IOException;
2729
import java.io.UnsupportedEncodingException;
2830
import java.net.URLEncoder;
2931
import java.util.concurrent.TimeUnit;
@@ -73,13 +75,16 @@ public GraphHopperGeocoding(String serviceUrl) {
7375
*/
7476
public GHGeocodingResponse geocode(GHGeocodingRequest request) {
7577
String url = buildUrl(request);
76-
7778
try {
7879
Request okRequest = new Request.Builder().url(url).build();
79-
ResponseBody rspBody = getClientForRequest(request).newCall(okRequest).execute().body();
80-
return objectMapper.readValue(rspBody.bytes(), GHGeocodingResponse.class);
81-
} catch (Exception ex) {
82-
throw new RuntimeException("Problem performing geocoding for " + url + ": " + ex.getMessage(), ex);
80+
Response rsp = getClientForRequest(request).newCall(okRequest).execute();
81+
ResponseBody rspBody = rsp.body();
82+
if (!rsp.isSuccessful())
83+
throw new RuntimeException(rspBody.string());
84+
GHGeocodingResponse geoRsp = objectMapper.readValue(rspBody.bytes(), GHGeocodingResponse.class);
85+
return geoRsp;
86+
} catch (IOException ex) {
87+
throw new RuntimeException("IO problem for geocoding URL " + url + ": " + ex.getMessage(), ex);
8388
}
8489
}
8590

0 commit comments

Comments
 (0)