private void EnsureDirective()
        {
            if (!this.directiveParsed)
            {
                using (System.IO.TextReader reader = base.OpenReader())
                {
                    this.sourceText = reader.ReadToEnd();
                }
                if (this.sourceText == null)
                {
                    this.sourceText = String.Empty;
                }

                try
                {
                    DirectiveParser parser = new DirectiveParser(this.sourceText, base.VirtualPath);
                    parser.ProcessDirective += this.ProcessDirective;
                    int index = parser.ParseDirectives(out this.lineNumber);
                    this.sourceText = this.sourceText.Substring(index).Trim();
                }
                finally
                {
                    this.directiveParsed = true;
                }

                if (!this.foundDirective)
                {
                    throw new HttpParseException(String.Format(ErrorMissingDirective, DefaultDirectiveName), null, base.VirtualPath, this.sourceText, this.lineNumber);
                }
            }
        }
Beispiel #2
0
        private void ProcessDirectives()
        {
            DirectiveParser parser = new DirectiveParser(this.Directives.ToString(), String.Empty);
            parser.ProcessDirective += this.ProcessDirective;

            int index = 0;
            parser.ParseDirectives(out index);
        }
        private void EnsureDirective()
        {
            if (!this.directiveParsed)
            {
                using (System.IO.TextReader reader = base.OpenReader())
                {
                    this.sourceText = reader.ReadToEnd();
                }
                if (this.sourceText == null)
                {
                    this.sourceText = String.Empty;
                }

                try
                {
                    DirectiveParser parser = new DirectiveParser(this.sourceText, base.VirtualPath);
                    parser.ProcessDirective += this.ProcessDirective;
                    int index = parser.ParseDirectives(out this.lineNumber);
                    this.sourceText = this.sourceText.Substring(index).Trim();
                }
                finally
                {
                    this.directiveParsed = true;
                }

                if (!this.foundDirective)
                {
                    throw new HttpParseException(String.Format(ErrorMissingDirective, DefaultDirectiveName), null, base.VirtualPath, this.sourceText, this.lineNumber);
                }
            }
        }