diff options
author | Craig Andrews <candrews@integralblue.com> | 2009-12-04 18:44:26 -0500 |
---|---|---|
committer | Craig Andrews <candrews@integralblue.com> | 2009-12-04 18:44:26 -0500 |
commit | aab7344002fd390e5b62a3eb82f3a418fd294617 (patch) | |
tree | b214e7d4b3e9f0ca9818fea9e3d9efa0249c00c6 /plugins/Minify/extlib/minify/min_unit_tests/HTTP_ConditionalGet/3.php | |
parent | 1fd7e5e3794621993b01a5833faa8b6fa26c3847 (diff) | |
parent | 01b089d9be046db1253cb3bb90e8635b50fddd84 (diff) |
Merge branch 'minify' into 0.9.x
Diffstat (limited to 'plugins/Minify/extlib/minify/min_unit_tests/HTTP_ConditionalGet/3.php')
-rw-r--r-- | plugins/Minify/extlib/minify/min_unit_tests/HTTP_ConditionalGet/3.php | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/plugins/Minify/extlib/minify/min_unit_tests/HTTP_ConditionalGet/3.php b/plugins/Minify/extlib/minify/min_unit_tests/HTTP_ConditionalGet/3.php new file mode 100644 index 000000000..8f5482ba8 --- /dev/null +++ b/plugins/Minify/extlib/minify/min_unit_tests/HTTP_ConditionalGet/3.php @@ -0,0 +1,40 @@ +<?php + +set_include_path(get_include_path() . PATH_SEPARATOR . realpath(dirname(__FILE__) . '/../../min/lib')); +require 'HTTP/ConditionalGet.php'; + +// generate content first (not ideal) +// emulate regularly updating document +$every = 20; +$lastModified = round(time()/$every)*$every - $every; +$title = 'Last-Modified is unknown : use hash of content for ETag'; +$explain = ' +<p>When Last-Modified is unknown, you can still use ETags, but you need a short +string that is unique for that content. In the worst case, you have to generate +all the content first, <em>then</em> instantiate HTTP_ConditionalGet, setting +the array key <code>contentHash</code> to the output of a hash function of the +content. Since we have the full content, we might as well also use +<code>setContentLength(strlen($content))</code> in the case where we need to +send it.</p> +<p>This script emulates a document that changes every ' .$every. ' seconds. +<br>This is version: ' . date('r', $lastModified) . '</p> +'; +require '_include.php'; +$content = get_content(array( + 'title' => $title + ,'explain' => $explain +)); + +$cg = new HTTP_ConditionalGet(array( + 'contentHash' => substr(md5($content), 7) +)); +if ($cg->cacheIsValid) { + $cg->sendHeaders(); + // we're done + exit(); +} +$cg->setContentLength(strlen($content)); +$cg->sendHeaders(); + +send_slowly($content); +
|