On Mon, 07 Mar 2011 20:06:25 +0100, Ian Hickson <i...@hixie.ch> wrote:
Zero, one or two BOMs before an event.
Parsing of comments with zero, one, or 2049 bytes of content, on either
side of a real field.
Handling of unknown fields. Handling of fields with names similar to but
not identical to valid fields, in particular with spaces, hyphens,
underscares, nulls where they're not expected; with uppercase names
instead of lowercase ones; with turkish upper-case dotted Is where a
lowercase i is expected.
Fields with and without value parts, for each allowed field and for
illegal fields. Fields with and without spaces after their colons.
End of line handling: cr/lf/cr, lf/cr/lf, etc.
Event dispatch when the last field ends with eof.
Nulls in values. Surrogate halves in field names and values. UTF-8 errors
in field names and values.
"Retry" field with leading zeros that are binary and octal (011, 071),
with hex values (0x01), with non-numeric trailing garbage (123x).
http://tc.labs.opera.com/apis/EventSource/format-bom-2.htm
http://tc.labs.opera.com/apis/EventSource/format-comments.htm
http://tc.labs.opera.com/apis/EventSource/format-field-parsing.htm
http://tc.labs.opera.com/apis/EventSource/format-field-retry-bogus.htm
http://tc.labs.opera.com/apis/EventSource/format-field-retry.htm
This does not cover everything you suggested though, but does cover quite
a bit. Patches accepted for the rest.
--
Anne van Kesteren
http://annevankesteren.nl/