mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Resolve reference Uris correctly.
Ignore the path of the base Uri if the reference starts with "/". Spec - http://tools.ietf.org/html/rfc3986#section-5.2.2
This commit is contained in:
parent
bf95592b2c
commit
4e96caa623
1 changed files with 14 additions and 4 deletions
|
|
@ -163,12 +163,22 @@ public final class Util {
|
||||||
if (stringUri == null) {
|
if (stringUri == null) {
|
||||||
return baseUri;
|
return baseUri;
|
||||||
}
|
}
|
||||||
Uri uri = Uri.parse(stringUri);
|
if (baseUri == null) {
|
||||||
if (!uri.isAbsolute() && baseUri != null) {
|
return Uri.parse(stringUri);
|
||||||
uri = Uri.withAppendedPath(baseUri, stringUri);
|
|
||||||
}
|
}
|
||||||
|
if (stringUri.startsWith("/")) {
|
||||||
|
return new Uri.Builder()
|
||||||
|
.scheme(baseUri.getScheme())
|
||||||
|
.authority(baseUri.getAuthority())
|
||||||
|
.appendEncodedPath(stringUri)
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
Uri uri = Uri.parse(stringUri);
|
||||||
|
if (uri.isAbsolute()) {
|
||||||
return uri;
|
return uri;
|
||||||
}
|
}
|
||||||
|
return Uri.withAppendedPath(baseUri, stringUri);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the index of the largest value in an array that is less than (or optionally equal to)
|
* Returns the index of the largest value in an array that is less than (or optionally equal to)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue