Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ MakeRelativeUri()

Uri System.Uri.MakeRelativeUri ( Uri uri)
inline

Definition at line 1276 of file Uri.cs.

1277 {
1278 if ((object)uri == null)
1279 {
1280 throw new ArgumentNullException("uri");
1281 }
1282 if (IsNotAbsoluteUri || uri.IsNotAbsoluteUri)
1283 {
1285 }
1286 if (Scheme == uri.Scheme && Host == uri.Host && Port == uri.Port)
1287 {
1288 string absolutePath = uri.AbsolutePath;
1290 if (CheckForColonInFirstPathSegment(text) && (!uri.IsDosPath || !absolutePath.Equals(text, StringComparison.Ordinal)))
1291 {
1292 text = "./" + text;
1293 }
1294 text += uri.GetParts(UriComponents.Query | UriComponents.Fragment, UriFormat.UriEscaped);
1295 return new Uri(text, UriKind.Relative);
1296 }
1297 return uri;
1298 }
static string net_uri_NotAbsolute
Definition SR.cs:16
Definition SR.cs:7
bool IsUncOrDosPath
Definition Uri.cs:203
Uri(string uriString)
Definition Uri.cs:653
string Host
Definition Uri.cs:441
string AbsolutePath
Definition Uri.cs:239
bool IsNotAbsoluteUri
Definition Uri.cs:213
static bool CheckForColonInFirstPathSegment(string uriString)
Definition Uri.cs:1300
string Scheme
Definition Uri.cs:505
int Port
Definition Uri.cs:453
static string PathDifference(string path1, string path2, bool compareCase)
Definition Uri.cs:3498
UriKind
Definition UriKind.cs:4
UriFormat
Definition UriFormat.cs:4

References System.Uri.Uri(), System.Uri.AbsolutePath, System.Uri.CheckForColonInFirstPathSegment(), System.Uri.GetParts(), System.Uri.Host, System.Uri.IsDosPath, System.Uri.IsNotAbsoluteUri, System.Uri.IsUncOrDosPath, System.SR.net_uri_NotAbsolute, System.Uri.PathDifference(), System.Uri.Port, System.Uri.Scheme, and System.text.