On Fri, 12 Nov 2010 23:53:51 +0100, Nicholas Zakas <[email protected]>
wrote:
Just a quick question about the Last-Event-ID header. The spec currently
says:
If the event source's last event ID string is not the empty string,
then a Last-Event-ID HTTP header must be included with the request,
whose value is the value of the event source's last event ID string,
encoded as UTF-8.
Consider the following scenario: a connection is established and one of
the events has an id of "foo", so the last event ID of the event source
is now "foo". The connection drops and on reconnect, the header
Last-Event-ID: foo is sent per the spec. The next stream of events
coming through do not have any IDs. The connection is dropped again.
The question is whether or not Last-Event-ID: foo should be sent a
second time? Technically, it is the last event ID of the event source,
and the spec never mentions resetting the last event ID outside of an
empty "id" field in the stream.
WebKit and Opera both match the specification here. I have added a
testcase for this behavior:
http://tc.labs.opera.com/apis/EventSource/format-field-id-2.htm
You can get the source code for the tests here:
http://tc.labs.opera.com/svn
If you want to contribute more tests following this style. Let me know!
--
Anne van Kesteren
http://annevankesteren.nl/