From 7647d14f8355e4a2306806a5908f572f1ec24f19 Mon Sep 17 00:00:00 2001 From: Mohammed Rizwan Date: Thu, 1 Nov 2018 11:35:56 +0530 Subject: [PATCH] Fix for issue 898 Swagger parser failed to parse the input swagger url with space --- .../src/main/java/io/swagger/parser/util/RemoteUrl.java | 4 +++- .../src/test/java/io/swagger/parser/util/RemoteUrlTest.java | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) 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