Thursday, October 21, 2004

mod_speedyfeed 0.05 - now with unit tests and etag support

I just finished up version 0.05 of mod_speedyfeed.

New in this release is an Apache::Test based test suite and support for ETags and If-None-Match.

I manufacture an ETag header based on the crc32 checksums of the entries, and drop from the body of the response any that match checksums seen in the client's If-None-Match header. This is similar to the RFC3229 feed support implemented in Sam Ruby's weblog, but I do it dynamically as part of an Apache filter.

For the curious, here's the relevent entries in the CHANGES file.

* Add support for ETags and If-None-Match. Our ETags are crc32 checksums of the entries, concatenated together. If we see a fragment that matches an entry's crc32 in the client's If-None-Match we drop it.
* Account for the fact that Content-Type headers can have arguments.
* Genericified some stuff so it will be easier to add support for other feed formats in the future.
* Added an Apache::Test based test suite.

Get it while it's hot:

As usual, I welcome any comments.