diff --git a/modules/swagger-parser/src/main/java/io/swagger/parser/util/RemoteUrl.java b/modules/swagger-parser/src/main/java/io/swagger/parser/util/RemoteUrl.java index 05256d0e4d..3bb67cd976 100644 --- a/modules/swagger-parser/src/main/java/io/swagger/parser/util/RemoteUrl.java +++ b/modules/swagger-parser/src/main/java/io/swagger/parser/util/RemoteUrl.java @@ -84,7 +84,9 @@ public void process(URLConnection connection) { } public static String cleanUrl(String url) { - return url.replaceAll("\\{", "%7B").replaceAll("\\}", "%7D"); + return url.replaceAll("\\{", "%7B"). + replaceAll("\\}", "%7D"). + replaceAll(" ", "%20"); } public static String urlToString(String url, List auths) throws Exception { diff --git a/modules/swagger-parser/src/test/java/io/swagger/parser/util/RemoteUrlTest.java b/modules/swagger-parser/src/test/java/io/swagger/parser/util/RemoteUrlTest.java index 105906c115..72e06d2cdd 100644 --- a/modules/swagger-parser/src/test/java/io/swagger/parser/util/RemoteUrlTest.java +++ b/modules/swagger-parser/src/test/java/io/swagger/parser/util/RemoteUrlTest.java @@ -44,6 +44,9 @@ public void setUp() throws Exception { public void testCleanUrl() { String cleaned = RemoteUrl.cleanUrl("http://foo/bar/com/{v2}/fun"); assertEquals(cleaned, "http://foo/bar/com/%7Bv2%7D/fun"); + + cleaned = RemoteUrl.cleanUrl("http://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face API - V1.0"); + assertEquals(cleaned, "http://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face%20API%20-%20V1.0"); } @Test