AshMind.Web.Mvc.UrlExtensions.GetBaseUrl C# (CSharp) Method

GetBaseUrl() public static method

public static GetBaseUrl ( this url ) : Uri
url this
return System.Uri
        public static Uri GetBaseUrl(this UrlHelper url)
        {
            Contract.Requires<ArgumentNullException>(url != null);
            Contract.Requires<ArgumentException>(url.RequestContext != null);
            Contract.Requires<ArgumentException>(url.RequestContext.HttpContext != null);
            Contract.Requires<ArgumentException>(url.RequestContext.HttpContext.Request != null);
            Contract.Requires<ArgumentException>(url.RequestContext.HttpContext.Request.Url != null);
            Contract.Requires<ArgumentException>(url.RequestContext.HttpContext.Request.RawUrl != null);
            Contract.Ensures(Contract.Result<Uri>() != null);

            var contextUri = new Uri(
                url.RequestContext.HttpContext.Request.Url,
                url.RequestContext.HttpContext.Request.RawUrl
            );
            var realmUri = new UriBuilder(contextUri) {
                Path = url.RequestContext.HttpContext.Request.ApplicationPath,
                Query = null,
                Fragment = null
            };
            return realmUri.Uri;
        }