public Sample Format(IFubuFile file, string languageClass = null) { var snippet = new Sample(file.Path){ Language = languageClass ?? "lang-" + Path.GetExtension(file.Path).Replace(".", "") }; file.ReadContents(stream => { using (var reader = new StreamReader(stream)) { int lineNumber = 0; string line; while ((line = reader.ReadLine()) != null) { lineNumber++; if (line.Contains(Samples.SAMPLE) || line.Contains(Samples.END)) { snippet.Append(string.Empty, lineNumber); } else { snippet.Append(line, lineNumber); } } } }); return snippet; }
public void store_files_and_test_for_changes_with_no_changes() { var files = new IFubuFile[] {file1, file2, file3, file4, file5, file6, file7}; var set = new TrackedSet(files); set.DetectChanges(files).HasChanges().ShouldBeFalse(); }
public Template(IFubuFile file, IFubuApplicationFiles files) { _file = file; _parsing = new Lazy<Parsing>(() => createParsing(files)); _relativeDirectoryPath = _file.RelativePath.ParentDirectory().Replace('\\', '/'); }
public Asset(IFubuFile file) { File = file; Filename = Path.GetFileName(file.Path); MimeType = MimeType.MimeTypeByFileName(Filename); Url = file.RelativePath.Replace("\\", "/").TrimStart('/'); }
public void find_deletes() { var files = new IFubuFile[] { file1, file2, file3, file4, file5, file6, file7 }; var set = new TrackedSet(files); var files2 = new IFubuFile[] { file1, file2, file3, file4, file5 }; set.DetectChanges(files2).Deleted.ShouldHaveTheSameElementsAs(file6.RelativePath, file7.RelativePath); }
public void find_adds() { var files = new IFubuFile[] { file1, file2, file3, file4, file5 }; var set = new TrackedSet(files); var files2 = new IFubuFile[] { file1, file2, file3, file4, file5, file6, file7 }; set.DetectChanges(files2).Added.ShouldHaveTheSameElementsAs(file6, file7); }
public void ReadConfig(IFubuFile config, IPackageLog log) { _diagnostics.SetCurrentProvenance(config.Provenance); var reader = new SharingDslReader(_diagnostics); log.Trace(" Reading sharing directives from {0}", config.ToString()); log.TrapErrors(() => config.ReadLines(text => { if (text.Trim().IsEmpty()) return; log.TrapErrors(() => reader.ReadLine(text, config.Provenance)); })); }
public static void WriteHeaders(IHttpResponse response, IFubuFile file) { var mimeType = MimeType.MimeTypeByFileName(file.Path); if (mimeType != null) { response.AppendHeader(HttpResponseHeaders.ContentType, mimeType.Value); } response.AppendHeader(HttpResponseHeaders.LastModified, file.LastModified().ToString("r")); response.AppendHeader(HttpResponseHeaders.ETag, file.Etag().Quoted()); }
public AuthorizationRight IsAllowed(IFubuFile file) { var mimetype = MimeType.MimeTypeByFileName(file.Path); if (mimetype == null) return AuthorizationRight.None; if (mimetype == MimeType.Javascript) return AuthorizationRight.Allow; if (mimetype == MimeType.Css) return AuthorizationRight.Allow; if (mimetype == MimeType.Html) return AuthorizationRight.Allow; if (mimetype.Value.StartsWith("image/")) return AuthorizationRight.Allow; return AuthorizationRight.None; }
public AuthorizationRight DetermineStaticFileRights(IFubuFile file) { return AuthorizationRight.Combine(StaticFileRules.UnionWith(this).Select(x => x.IsAllowed(file))); }
public WriteFileContinuation(IHttpResponse response, IFubuFile file) : base(response, DoNext.Stop) { _file = file; }
public RazorTemplate(IFubuApplicationFiles files, IFubuFile file, ITemplateFactory factory) : base(file, files) { _factory = factory; }
public static bool IsNotUnderExplodedBottleFolder(IFubuFile fubuFile) { return !fubuFile.RelativePath.Contains(FubuMvcPackageFacility.FubuContentFolder) && !fubuFile.RelativePath.Contains(FubuMvcPackageFacility.FubuPackagesFolder); }
public WriteFileContinuation(IHttpResponse response, IFubuFile file, AssetSettings settings) : base(response, DoNext.Stop) { _file = file; _settings = settings; }
public SnippetReader(IFubuFile file, ISnippetScanner scanner, Action<Snippet> onFound) { _file = file; _scanner = scanner; _onFound = onFound; }
public static bool IfMatchHeaderDoesNotMatchEtag(this IHttpRequest request, IFubuFile file) { return request.IfMatch().EtagMatches(file.Etag()) == EtagMatch.No; }
public static bool IfUnModifiedSinceHeaderAndModifiedSince(this IHttpRequest request, IFubuFile file) { var ifUnModifiedSince = request.IfUnModifiedSince(); return(ifUnModifiedSince.HasValue && file.LastModified() > ifUnModifiedSince.Value); }
public static bool IsNotUnderExplodedBottleFolder(IFubuFile fubuFile) { return(!fubuFile.RelativePath.Contains(FubuMvcPackageFacility.FubuContentFolder) && !fubuFile.RelativePath.Contains(FubuMvcPackageFacility.FubuPackagesFolder)); }
public WriteFileHeadContinuation(IHttpResponse response, IFubuFile file, HttpStatusCode status) : base(response, DoNext.Stop) { _file = file; _status = status; }
public RazorTemplate(IFubuFile file, ITemplateFactory factory) : base(file) { _factory = factory; }
AuthorizationRight IStaticFileRule.IsAllowed(IFubuFile file) { var mimetype = MimeType.MimeTypeByFileName(file.Path); if (mimetype == null) return AuthorizationRight.None; if (mimetype == MimeType.Javascript) return AuthorizationRight.Allow; if (mimetype == MimeType.Css) return AuthorizationRight.Allow; if (mimetype == MimeType.Html) return AuthorizationRight.Allow; if (mimetype.Value.StartsWith("image/")) return AuthorizationRight.Allow; if (AllowableExtensions.Contains(Path.GetExtension(file.Path))) return AuthorizationRight.Allow; return AuthorizationRight.None; }
public static bool IfNoneMatchHeaderMatchesEtag(this IHttpRequest request, IFubuFile file) { return request.IfNoneMatch().EtagMatches(file.Etag()) == EtagMatch.Yes; }
public AuthorizationRight IsAllowed(IFubuFile file) { return(Path.GetExtension(file.Path).EqualsIgnoreCase(".config") ? AuthorizationRight.Deny : AuthorizationRight.None); }
public SampleReader(IFubuFile file, ISampleScanner scanner, ISampleCache cache) { _file = file; _scanner = scanner; _cache = cache; }
public Template(IFubuFile file) : this(file.Path, file.ProvenancePath, file.Provenance) { }
public static bool IfMatchHeaderDoesNotMatchEtag(this IHttpRequest request, IFubuFile file) { return(request.IfMatch().EtagMatches(file.Etag()) == EtagMatch.No); }
public AuthorizationRight DetermineStaticFileRights(IFubuFile file) { return(AuthorizationRight.Combine(StaticFileRules.UnionWith(this).Select(x => x.IsAllowed(file)))); }
public static bool IfModifiedSinceHeaderAndNotModified(this IHttpRequest request, IFubuFile file) { var ifModifiedSince = request.IfModifiedSince(); return(ifModifiedSince.HasValue && file.LastModified().ToUniversalTime() <= ifModifiedSince.Value); }
public WriteFileContinuation(IHttpWriter writer, IFubuFile file) : base(writer, DoNext.Stop) { _file = file; }
public static bool IfModifiedSinceHeaderAndNotModified(this IHttpRequest request, IFubuFile file) { var ifModifiedSince = request.IfModifiedSince(); return ifModifiedSince.HasValue && file.LastModified().ToUniversalTime() <= ifModifiedSince.Value; }
public static bool IfNoneMatchHeaderMatchesEtag(this IHttpRequest request, IFubuFile file) { return(request.IfNoneMatch().EtagMatches(file.Etag()) == EtagMatch.Yes); }
public static bool IfUnModifiedSinceHeaderAndModifiedSince(this IHttpRequest request, IFubuFile file) { var ifUnModifiedSince = request.IfUnModifiedSince(); return ifUnModifiedSince.HasValue && file.LastModified() > ifUnModifiedSince.Value; }
public AuthorizationRight IsAllowed(IFubuFile file) { return Path.GetExtension(file.Path).EqualsIgnoreCase(".config") ? AuthorizationRight.Deny : AuthorizationRight.None; }