public static IEnumerable FromStream()

in Source/Tx.Windows/IIS/W3CEnumerable.cs [40:71]


        public static IEnumerable<W3CEvent> FromStream(StreamReader reader)
        {
            Expression<Func<string[], W3CEvent>> transformExpression;
            Func<string[], W3CEvent> transform = null;

            for (;;)
            {
                string line = reader.ReadLine();
                if (line == null)
                    yield break;

                if (line.StartsWith("#Fields:"))
                {
                    transformExpression = GetTransformExpression(line);
                    transform = transformExpression.Compile();
                    continue;
                }

                if (line.StartsWith("#"))
                    continue;

                string[] tokens = line.Split(new char[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries);

                for (int i = 0; i < tokens.Length; i++)
                    if (tokens[i] == "-")
                        tokens[i] = null;

                W3CEvent e = transform(tokens);

                yield return e;
            }
        }