Skip to content

Commit 62af3af

Browse files
author
Łukasz Paczos
committed
when encoding RouteOptions to URL use UTF-8
1 parent bf98d21 commit 62af3af

2 files changed

Lines changed: 19 additions & 1 deletion

File tree

services-directions-models/src/main/java/com/mapbox/api/directions/v5/models/RouteOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -991,7 +991,7 @@ public URL toUrl(@NonNull String accessToken) {
991991
decodedUrl.getQuery(),
992992
decodedUrl.getRef()
993993
);
994-
return encodedUri.toURL();
994+
return new URL(encodedUri.toASCIIString());
995995
} catch (MalformedURLException | URISyntaxException ex) {
996996
throw new RuntimeException(ex);
997997
}

services-directions-models/src/test/java/com/mapbox/api/directions/v5/models/RouteOptionsTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,24 @@ public void routeOptions_toUrl_fromUrl_withEncodedChars() {
419419
assertEquals(expectedOptions, resultingOptions);
420420
}
421421

422+
@Test
423+
public void routeOptionsWithUTF8Chars_toUrlWithEncodedChars() {
424+
String expectedEncodedUrl = "https://api.mapbox.com/directions/v5/mapbox/driving/-122.4003312,37.7736941;-122.4187529,37.7689715?access_token=pk.token&geometries=polyline6&waypoint_names=;%D0%A3%D0%BB%D0%B8%D1%86%D0%B0%20%D0%AF%D0%BD%D0%B0%20%D0%A7%D0%B5%D1%87%D0%BE%D1%82%D0%B0%207,%20Minsk%20220045,%20Belarus";
425+
List<Point> coordinates = new ArrayList<>();
426+
coordinates.add(Point.fromLngLat(-122.4003312, 37.7736941));
427+
coordinates.add(Point.fromLngLat(-122.4187529, 37.7689715));
428+
429+
RouteOptions options = RouteOptions.builder()
430+
.profile(DirectionsCriteria.PROFILE_DRIVING)
431+
.coordinatesList(coordinates)
432+
.waypointNames(";Улица Яна Чечота 7, Minsk 220045, Belarus")
433+
.build();
434+
435+
URL url = options.toUrl(ACCESS_TOKEN);
436+
437+
assertEquals(expectedEncodedUrl, url.toString());
438+
}
439+
422440
/**
423441
* Fills up all the options using string variants. Values need ot be equal to the ones in {@link #optionsJson}.
424442
*/

0 commit comments

Comments
 (0)