Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        public Template(IFubuFile file, IFubuApplicationFiles files)
        {
            _file = file;

            _parsing = new Lazy<Parsing>(() => createParsing(files));

            _relativeDirectoryPath = _file.RelativePath.ParentDirectory().Replace('\\', '/');
        }
Exemplo n.º 4
0
        public Asset(IFubuFile file)
        {
            File = file;

            Filename = Path.GetFileName(file.Path);
            MimeType = MimeType.MimeTypeByFileName(Filename);

            Url = file.RelativePath.Replace("\\", "/").TrimStart('/');
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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());

        }
Exemplo n.º 9
0
        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;
        }
Exemplo n.º 10
0
 public AuthorizationRight DetermineStaticFileRights(IFubuFile file)
 {
     return AuthorizationRight.Combine(StaticFileRules.UnionWith(this).Select(x => x.IsAllowed(file)));
 }
Exemplo n.º 11
0
 public WriteFileContinuation(IHttpResponse response, IFubuFile file)
     : base(response, DoNext.Stop)
 {
     _file = file;
 }
Exemplo n.º 12
0
 public RazorTemplate(IFubuApplicationFiles files, IFubuFile file, ITemplateFactory factory)
     : base(file, files)
 {
     _factory = factory;
 }
Exemplo n.º 13
0
 public static bool IsNotUnderExplodedBottleFolder(IFubuFile fubuFile)
 {
     return !fubuFile.RelativePath.Contains(FubuMvcPackageFacility.FubuContentFolder)
         && !fubuFile.RelativePath.Contains(FubuMvcPackageFacility.FubuPackagesFolder);
 }
Exemplo n.º 14
0
 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;
 }
Exemplo n.º 16
0
 public static bool IfMatchHeaderDoesNotMatchEtag(this IHttpRequest request, IFubuFile file)
 {
     return request.IfMatch().EtagMatches(file.Etag()) == EtagMatch.No;
 }
Exemplo n.º 17
0
        public static bool IfUnModifiedSinceHeaderAndModifiedSince(this IHttpRequest request, IFubuFile file)
        {
            var ifUnModifiedSince = request.IfUnModifiedSince();

            return(ifUnModifiedSince.HasValue && file.LastModified() > ifUnModifiedSince.Value);
        }
Exemplo n.º 18
0
 public static bool IsNotUnderExplodedBottleFolder(IFubuFile fubuFile)
 {
     return(!fubuFile.RelativePath.Contains(FubuMvcPackageFacility.FubuContentFolder) &&
            !fubuFile.RelativePath.Contains(FubuMvcPackageFacility.FubuPackagesFolder));
 }
Exemplo n.º 19
0
 public WriteFileHeadContinuation(IHttpResponse response, IFubuFile file, HttpStatusCode status) : base(response, DoNext.Stop)
 {
     _file   = file;
     _status = status;
 }
Exemplo n.º 20
0
 public RazorTemplate(IFubuFile file, ITemplateFactory factory) : base(file)
 {
     _factory = factory;
 }
 public WriteFileHeadContinuation(IHttpResponse response, IFubuFile file, HttpStatusCode status) : base(response, DoNext.Stop)
 {
     _file = file;
     _status = status;
 }
Exemplo n.º 22
0
        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;
        }
Exemplo n.º 23
0
 public static bool IfNoneMatchHeaderMatchesEtag(this IHttpRequest request, IFubuFile file)
 {
     return request.IfNoneMatch().EtagMatches(file.Etag()) == EtagMatch.Yes;
 }
Exemplo n.º 24
0
 public AuthorizationRight IsAllowed(IFubuFile file)
 {
     return(Path.GetExtension(file.Path).EqualsIgnoreCase(".config")
         ? AuthorizationRight.Deny
         : AuthorizationRight.None);
 }
Exemplo n.º 25
0
 public SampleReader(IFubuFile file, ISampleScanner scanner, ISampleCache cache)
 {
     _file = file;
     _scanner = scanner;
     _cache = cache;
 }
Exemplo n.º 26
0
 public RazorTemplate(IFubuFile file, ITemplateFactory factory)
     : base(file)
 {
     _factory = factory;
 }
Exemplo n.º 27
0
 public Template(IFubuFile file)
     : this(file.Path, file.ProvenancePath, file.Provenance)
 {
 }
Exemplo n.º 28
0
 public static bool IfMatchHeaderDoesNotMatchEtag(this IHttpRequest request, IFubuFile file)
 {
     return(request.IfMatch().EtagMatches(file.Etag()) == EtagMatch.No);
 }
Exemplo n.º 29
0
 public AuthorizationRight DetermineStaticFileRights(IFubuFile file)
 {
     return(AuthorizationRight.Combine(StaticFileRules.UnionWith(this).Select(x => x.IsAllowed(file))));
 }
Exemplo n.º 30
0
        public static bool IfModifiedSinceHeaderAndNotModified(this IHttpRequest request, IFubuFile file)
        {
            var ifModifiedSince = request.IfModifiedSince();

            return(ifModifiedSince.HasValue && file.LastModified().ToUniversalTime() <= ifModifiedSince.Value);
        }
Exemplo n.º 31
0
 public WriteFileContinuation(IHttpWriter writer, IFubuFile file) : base(writer, DoNext.Stop)
 {
     _file = file;
 }
Exemplo n.º 32
0
 public static bool IfModifiedSinceHeaderAndNotModified(this IHttpRequest request, IFubuFile file)
 {
     var ifModifiedSince = request.IfModifiedSince();
     return ifModifiedSince.HasValue && file.LastModified().ToUniversalTime() <= ifModifiedSince.Value;
 }
Exemplo n.º 33
0
 public static bool IfNoneMatchHeaderMatchesEtag(this IHttpRequest request, IFubuFile file)
 {
     return(request.IfNoneMatch().EtagMatches(file.Etag()) == EtagMatch.Yes);
 }
Exemplo n.º 34
0
 public static bool IfUnModifiedSinceHeaderAndModifiedSince(this IHttpRequest request, IFubuFile file)
 {
     var ifUnModifiedSince = request.IfUnModifiedSince();
     return ifUnModifiedSince.HasValue && file.LastModified() > ifUnModifiedSince.Value;
 }
Exemplo n.º 35
0
 public WriteFileContinuation(IHttpResponse response, IFubuFile file, AssetSettings settings) : base(response, DoNext.Stop)
 {
     _file = file;
     _settings = settings;
 }
Exemplo n.º 36
0
 public AuthorizationRight IsAllowed(IFubuFile file)
 {
     return Path.GetExtension(file.Path).EqualsIgnoreCase(".config")
         ? AuthorizationRight.Deny
         : AuthorizationRight.None;
 }
Exemplo n.º 37
0
 public Template(IFubuFile file)
     : this(file.Path, file.ProvenancePath, file.Provenance)
 {
 }