Ejemplo n.º 1
0
        private void HandleHttpModule(IHttpModule module, IHttpRequest req, IHttpResponse resp)
        {
            var frontend = new FrontendHandler(req, resp);

            var handleCtx = new SimpleHttpRequestContext();

            handleCtx.Request  = req;
            handleCtx.Response = resp;

            var result = module.HandleRequest(handleCtx);

            if (result.Errors.Count > 0)
            {
                throw new AggregateException(result.Errors);
            }

            var directOutput = resp.DirectOutput;

            if (!directOutput)
            {
                var header = ServiceLocator.Current.GetInstance <IHtmlTemplate>("__header");
                frontend.WriteVars(header);

                resp.Prefix(header.Render());
            }

            if (!directOutput)
            {
                var footer = ServiceLocator.Current.GetInstance <IHtmlTemplate>("__footer");
                frontend.WriteVars(footer);

                resp.Append(footer.Render());
            }
        }