Revision history for CGI-Buffer
0.63 Sat Sep 22 18:45:27 EDT 2012
Fixed t/is_cached.t for systems without CHI
Sometimes 304 was not generated for when giving IF_MODIFIED_SINCE in
scenarios were it could have been
Amalgameted that 3 separate caches into one cache.
Minor speed improvements
0.62 Wed Sep 19 10:09:53 BST 2012
Added resilience to is_cached in case the age of the script can't be
determined.
Removed logger calls from END, since it'll have gone by then
is_cached now returns false unless both body and headers can be found
0.61 Sat Sep 15 17:57:03 BST 2012
Fixed typo in subroutine name
0.60 Fri Sep 14 08:44:00 BST 2012
Removed superflouous whitespace around the top of the document and
in lists
Added t/unused.t
Remove spaces after <div>
Remove spaces before </div>
Simplified the cache key
If the script has been modified since the value in IF_MODIFIED_SINCE
don't return 304, since the output may have been changed
If the script has been modified since the time it was stored in the cache
don't return true from is_cached()
Use the cookies to ensure that different states of the client are stored
in different entries in the cache
0.59 Wed Aug 8 10:00:00 BST 2012
t/is_cached: fix tests on systems without CHI
0.58 Tue Aug 7 12:40:03 BST 2012
Improve the new-line handling between header fields
Replaces stats_file option with logger
Fix putting Content-Length in twice when cache is given
Optimise <hr> tags
Remove more redundant whitespace around hrefs
Test::Kwalitee isn't needed for build, only for optional testing
Only get the etag value from the cache when needed
0.57 Tue Jul 24 13:51:43 BST 2012
Use get() rather than is_valid()
If get on the body fails, remove the corresponding headers from the
cache
0.56 Tue Jul 24 13:45:57 BST 2012
Always store the unzipped body in the cache. It uses more disc
space, but makes the code much simpler and more robust
0.55 Mon Jul 23 12:14:34 BST 2012
Only store a response in the cache when HTTP status is 200
Ensure that the headers are in the cache as well as the body
before deciding to send the server's cached response
0.54 Thu Jul 19 13:53:58 BST 2012
lint_content is now off by default
0.53 Wed Jul 18 10:57:50 BST 2012
Added support for lint_content to put output through HTML::Lint
0.52 Fri Jul 13 09:27:43 BST 2012
Don't create cache entry for empty headers
src/testit: check etag and last-modifed don't return 304 when the
content has changed
0.51 Thu Jul 12 11:20:19 BST 2012
Store the etag value in the cache to ensure correctness
Added src/testit to check etag and last-modified HTTP headers
0.50 Tue Jul 10 19:28:36 BST 2012
Fixed use of an uninitialised variable
Don't set 304 if status != 200
0.49 Sun Jun 17 22:57:52 EDT 2012
Made the stats_file more readable
Fixed IF_MODIFIED_SINCE which was often not working
0.48 Sun Jun 17 08:48:25 EDT 2012
Added stats_file option
0.47 Fri Jun 15 12:56:57 EDT 2012
Fix bug where 307 wasn't sent if the first request set encoding to gzip
and subsequent check didn't
0.46 Sat Jun 2 14:02:39 EDT 2012
304 can be sent irrespective of the value of gzip - so check
for both in the cache
0.45 Tue May 29 12:19:41 EDT 2012
Honour Cache-Control: private
Look at If-Modified-Since before If-None-Match to reduce etag
calculations
Unlikely possibility: if cached headers have an etag that matches our
body but we somehow missed that, then send 304
0.44 Mon May 28 10:39:57 EDT 2012
Corrected logic error
0.43 Mon May 28 00:31:40 EDT 2012
Generate Last-Modified header when possible
0.42 Sat May 26 15:31:54 EDT 2012
Tightned tests for Content-Length
Send 304 if object in cache is newer than IF_MODIFIED_SINCE
0.41 Mon May 14 12:30:32 EDT 2012
Allow options to be given in the 'use' call
0.40 Tue May 1 20:58:23 BST 2012
Check gzip is valid
Avoid 'Wide character in memGzip'
Renamed set_options to init, but kept set_options as a synonym for
legacy apps
Allow a reference to be passed to init
0.39 Fri Apr 20 09:04:51 BST 2012
Avoid "Wide character in subroutine entry" when generating ETags
Remove warning on perl5.15.9
Added tests that If-None-Match can generate 304 return status
0.38 Wed Apr 18 11:32:31 BST 2012
Only do kwalitee test in author environment because it throws too
many false positives
Remove blank spaces between table cells
0.37
Turned JavaScript optimisation off for optimise_content level 1.
0.36 Sat Mar 17 16:47:25 EDT 2012
Drop use of HTML Clean until RT402 is fixed.
0.35 Thu Mar 8 10:07:35 EST 2012
Include JavaScript::Packer as a prerequisite
Bump minimum required HTML::Packer in an attempt to fix
http://www.cpantesters.org/cpan/report/b077836c-688d-11e1-b4da-8ac6d9130bc2
Added aggressive optimisation for document.write and t/js.t
0.34 Wed Mar 7 15:51:08 EST 2012
Bump minimum required HTML::Clean in an attempt to fix
http://www.cpantesters.org/cpan/report/40d9566e-6673-11e1-a50d-8482959b33a2
Introduce optimise_content levels, 0 = OFF, 1 = normal, 2 = aggressive (may fail)
0.33 Mon Feb 27 11:42:45 EST 2012
Fix occasional unitialised value
Various performance enhancements
Use Digest::MD5 instead of MD5
0.32 Sat Feb 25 16:53:39 EST 2012
Call the correct Perl in t/output.t - RT75309. Thanks to ANDK@cpan.org
0.31 Mon Feb 20 11:30:29 EST 2012
Handle Range header
Fixed t/output.t to look in PERL5LIB for locally installed modules
0.30 Sat Feb 18 12:37:29 EST 2012
Don't gzip if the output is < MIN_GZIP_LEN
Honour cache-control HTTP header
0.29
Added tests to t/output.t to verify that Content-Length is correct
Don't tell HTML::Packer to remove newlines.
0.28 Sun Jan 29 12:33:55 GMT 2012
Fixed test count in t/output.t
0.27 Sat Jan 28 11:04:32 GMT 2012
Use the domain name as part of the key, so that if two scripts of
the same name are used in different hosts, ensure that they
are kept separate
Remove use of JavaScript::Packer. It produces JavaScript that doesn't
work - I don't know what's wrong.
Fix bug removing our own name in links to our own domain
0.26 Fri Jan 27 11:07:13 GMT 2012
Added t/output.t
Use shrink not best in JavaScript::Packer
Only import HTML::Clean and HTML::Packer if they are going to be used.
0.25 Wed Jan 25 10:40:25 GMT 2012
Fixed the way HTML::Packer was called
0.24 Tue Jan 24 21:59:00 GMT 2012
Include HTML::Packer. Eventually I will probably drop HTML::Clean,
so I'm testing HTML::Packer. HTML::Clean doesn't seem to
be supported any more
0.23
Improved header handling when caching few headers
0.22 Fri Jan 6 20:58:43 EST 2012
Ensure that two newlines are appended when doing redirects
If CHI isn't installed, get the count right in t/too_late.t
0.21
Fixed spelling mistakes in the documentation
More optimise content at end of paragraphs and hyperlinks
0.20 Tue Nov 1 13:48:55 EDT 2011
More server side cache fixes
0.19 Mon Oct 31 22:52:01 EDT 2011
Send 304 if server cache matches client's HTTP_IF_NONE_MATCH
0.18 Mon Oct 31 17:41:48 EDT 2011
Small optimisations
Fix is_cache handling of gzipped content_encoding
0.17 Mon Oct 31 16:09:09 EDT 2011
Fix bug in X-CGI-Buffer header
Carp if you're trying to set an unsafe option after output has been
generated
0.16 Mon Oct 24 09:54:09 EDT 2011
Improved client side caching
0.15 Sat Sep 24 16:08:32 EDT 2011
Improved error handling
0.14 Mon Sep 19 14:54:10 EDT 2011
Another attempt at fiximg HEAD requests
0.13 Mon Sep 12 14:17:55 EDT 2011
Fixed the call to "new HTML::Clean"
0.12 Tue Sep 6 14:55:17 EDT 2011
Improved handling of HEAD
Added t/is_cached.t
Use HTML::Clean
0.11 Thu Aug 18 16:10:27 EDT 2011
Optimise table rows
Added t/critit.t
0.10 Wed Aug 10 13:31:46 EDT 2011
Optimise HEAD handling
0.09 Tue Aug 2 11:58:47 EDT 2011
Fix problem with HEAD which meant that the headers weren't being sent
optimise_content: Add optimisations for <br> and <div>
0.08 Mon Aug 1 10:57:32 EDT 2011
Ensure that the correct encoding mechanism is passed to the client
0.07 Sun Jul 31 20:06:52 EDT 2011
Fixed compilation error
0.06 Fri Jul 29 18:04:56 EDT 2011
Added cache_key option
Fixed problem with cache delivering gzipped version to non gzip
aware browsers
0.05 Wed Jul 27 23:07:50 EDT 2011
Fix the documentation
Fix calls to is_cached() when there is no cache
Added new optimise_content
0.04 Wed Jul 27 10:19:41 EDT 2011
Fixed over zealous optimise_content
0.03 Mon Jul 25 16:38:00 EDT 2011
Improvements to optimise_content
0.02 Sun Jul 24 20:18:15 EDT 2011
If protocol isn't known, assume http
0.01 Fri Jul 22 13:09:17 EDT 2011
First draft