Skip to content

Commit c9a3667

Browse files
committed
Fix resolving relative $refs with URN base URIs.
Closes: #544
1 parent 5bdcaaa commit c9a3667

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

jsonschema/validators.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -844,16 +844,19 @@ def resolve(self, ref):
844844

845845
def resolve_from_url(self, url):
846846
"""
847-
Resolve the given remote URL.
847+
Resolve the given URL.
848848
"""
849849
url, fragment = urldefrag(url)
850-
try:
851-
document = self.store[url]
852-
except KeyError:
850+
if url:
853851
try:
854-
document = self.resolve_remote(url)
855-
except Exception as exc:
856-
raise exceptions.RefResolutionError(exc)
852+
document = self.store[url]
853+
except KeyError:
854+
try:
855+
document = self.resolve_remote(url)
856+
except Exception as exc:
857+
raise exceptions.RefResolutionError(exc)
858+
else:
859+
document = self.referrer
857860

858861
return self.resolve_fragment(document, fragment)
859862

0 commit comments

Comments
 (0)