|
|
|
@ -8,7 +8,7 @@ namespace NzbDrone.Common.Http
|
|
|
|
|
{
|
|
|
|
|
public class HttpUri : IEquatable<HttpUri>
|
|
|
|
|
{
|
|
|
|
|
private static readonly Regex RegexUri = new Regex(@"^(?:(?<scheme>[a-z]+):)?(?://(?<host>[-A-Z0-9.]+)(?::(?<port>[0-9]{1,5}))?)?(?<path>(?:(?:(?<=^)|/)[^/?#\r\n]+)+/?|/)?(?:\?(?<query>[^#\r\n]*))?(?:\#(?<fragment>.*))?$", RegexOptions.Compiled | RegexOptions.IgnoreCase);
|
|
|
|
|
private static readonly Regex RegexUri = new Regex(@"^(?:(?<scheme>[a-z]+):)?(?://(?<host>[-_A-Z0-9.]+)(?::(?<port>[0-9]{1,5}))?)?(?<path>(?:(?:(?<=^)|/)[^/?#\r\n]+)+/?|/)?(?:\?(?<query>[^#\r\n]*))?(?:\#(?<fragment>.*))?$", RegexOptions.Compiled | RegexOptions.IgnoreCase);
|
|
|
|
|
|
|
|
|
|
private readonly string _uri;
|
|
|
|
|
public string FullUri => _uri;
|
|
|
|
@ -168,7 +168,7 @@ namespace NzbDrone.Common.Http
|
|
|
|
|
{
|
|
|
|
|
return basePath.Substring(0, baseSlashIndex) + "/" + relativePath;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return relativePath;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -263,7 +263,7 @@ namespace NzbDrone.Common.Http
|
|
|
|
|
{
|
|
|
|
|
return new HttpUri(baseUrl.Scheme, baseUrl.Host, baseUrl.Port, CombineRelativePath(baseUrl.Path, relativeUrl.Path), relativeUrl.Query, relativeUrl.Fragment);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return new HttpUri(baseUrl.Scheme, baseUrl.Host, baseUrl.Port, baseUrl.Path, relativeUrl.Query, relativeUrl.Fragment);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|