Ejemplo n.º 1
0
        string RawFileUrlPrefix()
        {
            var dummyUrl     = urlGenerator.CreateRawFileUrl("~/dummy", "hash");
            var prefixLength = dummyUrl.IndexOf("dummy", StringComparison.Ordinal);

            return(dummyUrl.Substring(0, prefixLength));
        }
Ejemplo n.º 2
0
        public string FileUrl(string applicationRelativeFilePath)
        {
            applicationRelativeFilePath = PathUtilities.AppRelative(applicationRelativeFilePath);

            var file = settings.SourceDirectory.GetFile(applicationRelativeFilePath);

            ThrowIfFileNotFound(applicationRelativeFilePath, file);
            ThrowIfCannotRequestRawFile(applicationRelativeFilePath, file);

            return(urlGenerator.CreateRawFileUrl(applicationRelativeFilePath));
        }
Ejemplo n.º 3
0
        bool ReplaceUrlWithCassetteRawFileUrl(StringBuilder builder, Group matchedUrlGroup, string filename, string queryString, string fragment)
        {
            var file = sourceDirectory.GetFile(filename);

            if (!file.Exists)
            {
                return(false);
            }

            var absoluteUrl = urlGenerator.CreateRawFileUrl(filename);

            builder.Remove(matchedUrlGroup.Index, matchedUrlGroup.Length);
            builder.Insert(matchedUrlGroup.Index, absoluteUrl + queryString + fragment);
            return(true);
        }
Ejemplo n.º 4
0
        public string FileUrl(string applicationRelativeFilePath)
        {
            applicationRelativeFilePath = PathUtilities.AppRelative(applicationRelativeFilePath);

            var file = settings.SourceDirectory.GetFile(applicationRelativeFilePath);

            ThrowIfFileNotFound(applicationRelativeFilePath, file);
            ThrowIfCannotRequestRawFile(applicationRelativeFilePath, file);

            using (var stream = file.OpenRead())
            {
                var hash = stream.ComputeSHA1Hash().ToHexString();
                return(urlGenerator.CreateRawFileUrl(applicationRelativeFilePath, hash));
            }
        }
        void ExpandUrl(StringBuilder builder, Group matchedUrlGroup, string relativeFilename)
        {
            relativeFilename = RemoveFragment(relativeFilename);
            var file = sourceDirectory.GetFile(relativeFilename.TrimStart('~', '/'));

            if (!file.Exists)
            {
                return;
            }

            var hash        = HashFileContents(file);
            var absoluteUrl = urlGenerator.CreateRawFileUrl(relativeFilename, hash);

            builder.Remove(matchedUrlGroup.Index, matchedUrlGroup.Length);
            builder.Insert(matchedUrlGroup.Index, absoluteUrl);
        }
        bool ReplaceUrlWithCassetteRawFileUrl(StringBuilder builder, Group matchedUrlGroup, string filename)
        {
            filename = RemoveFragment(filename);
            var file = sourceDirectory.GetFile(filename);

            if (!file.Exists)
            {
                return(false);
            }

            var hash        = HashFileContents(file);
            var absoluteUrl = urlGenerator.CreateRawFileUrl(filename, hash);

            builder.Remove(matchedUrlGroup.Index, matchedUrlGroup.Length);
            builder.Insert(matchedUrlGroup.Index, absoluteUrl);
            return(true);
        }
Ejemplo n.º 7
0
 public string CreateRawFileUrl(string filename, string hash)
 {
     return(_inner.CreateRawFileUrl(filename, hash));
 }