string RawFileUrlPrefix() { var dummyUrl = urlGenerator.CreateRawFileUrl("~/dummy", "hash"); var prefixLength = dummyUrl.IndexOf("dummy", StringComparison.Ordinal); return(dummyUrl.Substring(0, prefixLength)); }
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)); }
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); }
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); }
public string CreateRawFileUrl(string filename, string hash) { return(_inner.CreateRawFileUrl(filename, hash)); }