System.UriBuilderExtensions.PatchFromHeaders C# (CSharp) Méthode

PatchFromHeaders() public static méthode

public static PatchFromHeaders ( this baseUri, NameValueCollection headers ) : UriBuilder
baseUri this
headers System.Collections.Specialized.NameValueCollection
Résultat UriBuilder
		public static UriBuilder PatchFromHeaders(this UriBuilder baseUri, NameValueCollection headers)
		{
			var port = headers[ProxyPortHeader].ParseInt() ?? baseUri.Port;
			var isSsl = baseUri.IsSsl(headers);
			if (isSsl)
			{
				baseUri.Scheme = Uri.UriSchemeHttps;
				baseUri.Port = port == 443 ? -1 : port;
			}
			else
			{
				baseUri.Scheme = Uri.UriSchemeHttp;
				baseUri.Port = port == 80 ? -1 : port;
			}
			var alternative = headers[ProxyAlternativeHostHeader];
			if (!alternative.IsNullOrEmpty())
			{
				baseUri.Host = alternative.Trim();
			}
			var origin = headers[OriginHeader];
			return !origin.IsNullOrEmpty() ? PrepareFromOrigin(origin, baseUri) : baseUri;
		}