diff --git a/src/main/java/graphql/scalars/url/UrlScalar.java b/src/main/java/graphql/scalars/url/UrlScalar.java index 2b024b2..180ab41 100644 --- a/src/main/java/graphql/scalars/url/UrlScalar.java +++ b/src/main/java/graphql/scalars/url/UrlScalar.java @@ -14,6 +14,7 @@ import java.io.File; import java.net.MalformedURLException; import java.net.URI; +import java.net.URISyntaxException; import java.net.URL; import java.util.Locale; import java.util.Optional; @@ -83,8 +84,8 @@ public Value valueToLiteral(Object input, GraphQLContext graphQLContext, Loca private URL parseURL(String input, Function exceptionMaker) { try { - return new URL(input); - } catch (MalformedURLException e) { + return new URI(input).toURL(); + } catch (URISyntaxException | IllegalArgumentException | MalformedURLException e) { throw exceptionMaker.apply("Invalid URL value : '" + input + "'."); } }