SquishIt.Framework.CSS.CSSAssetsFileHasher.GetAssetFilePath C# (CSharp) Method

GetAssetFilePath() private method

private GetAssetFilePath ( string cssFilePath, string url ) : string
cssFilePath string
url string
return string
        string GetAssetFilePath(string cssFilePath, string url)
        {
            var queryStringPosition = url.IndexOf('?');

            if (queryStringPosition > -1)
            {
                url = url.Substring(0, queryStringPosition);
            }

            if (Platform.Unix)
            {
                url = url.TrimStart('/');
            }

            var resolvedUrl = string.Empty;

            var urlUri = new Uri(url, UriKind.RelativeOrAbsolute);

            if (!urlUri.IsAbsoluteUri)
            {
                if (!url.StartsWith("/"))
                {
                    var resolvedPath = Path.GetDirectoryName(cssFilePath);
                    if (Platform.Unix)
                    {
                        resolvedPath = resolvedPath.Replace("file:", "");
                    }

                    var outputUri = new Uri(resolvedPath + "/", UriKind.Absolute);

                    var resolvedSourcePath = new Uri(outputUri, urlUri);
                    resolvedUrl = resolvedSourcePath.LocalPath;
                }
                else
                {
                    resolvedUrl = FileSystem.ResolveAppRelativePathToFileSystem(url);
                }

                return FileSystemResolver.Resolve(resolvedUrl);
            }

            return urlUri.LocalPath;
        }