コード例 #1
0
        public ScriptRenderer(ExecutionRequest request, ContentResponder content)
            : base(request, content, "application/javascript", Extensions)
        {
            this._cache    = new ConcurrentDictionary <string, byte[]>();
            this._minCache = new ConcurrentDictionary <string, byte[]>();
            string path = request.Request.Url.AbsolutePath;

            if (!request.WasExecuted)
            {
                request.Execute();
            }

            if (request.Success && request.Result is AppMetaResult)
            {
                request.Result = ((AppMetaResult)request.Result).Data;
            }

            HandlePrependAndPostpend();

            string script = request.Result as string;

            if (script == null)
            {
                string type = "null";

                if (request.Result != null)
                {
                    type           = request.Result.GetType().Name;
                    request.Result = script;
                }

                script = ";\r\nalert('expected a script but was ({0}) instead');"._Format(type);
            }
            Task.Run(() => content.SetScriptCache(path, script));
            SetResult();
        }
コード例 #2
0
ファイル: ContentRenderer.cs プロジェクト: ThreeHeadz/Bam.Net
 public ContentRenderer(ExecutionRequest request, ContentResponder content, string contentType, params string[] extensions)
     : base(contentType, extensions)
 {
     this.ExecutionRequest = request;
     this.ContentResponder = content;
 }
コード例 #3
0
 public AppMetaInitializer(ContentResponder contentResponder)
 {
     ContentResponder   = contentResponder;
     InitializationTask = InitializeAsync();
 }
コード例 #4
0
 public CommonTemplateRenderer(ContentResponder content)
     : base("text/html", ".dust")
 {
     this.ContentResponder = content;
 }
コード例 #5
0
        public void Respond(ExecutionRequest request, ContentResponder contentResponder)
        {
            IRenderer renderer = CreateRenderer(request, contentResponder);

            renderer.Respond(request);
        }
コード例 #6
0
 public CommonDustRenderer(ContentResponder content)
     : base("text/html", ".htm", ".html")
 {
     this.ContentResponder = content;
 }
コード例 #7
0
 public CommonDustRenderer(ContentResponder content)
     : base("text/html", ".htm", ".html")
 {
     ContentResponder       = content;
     TemplateDirectoryNames = content.TemplateDirectoryNames.ToArray();
 }