From 254e5c84cc0ef99f63ad829ef4abf3240d05ada6 Mon Sep 17 00:00:00 2001 From: Ben Coburn Date: Wed, 15 Mar 2006 07:45:06 +0100 Subject: refactored http_conditionalRequest($timestamp) to inc/pageutils.php darcs-hash:20060315064506-05dcb-92833a95f37a43ef50e6b993930ac9d25caed81f.gz --- lib/exe/fetch.php | 36 ------------------------------------ 1 file changed, 36 deletions(-) (limited to 'lib/exe') diff --git a/lib/exe/fetch.php b/lib/exe/fetch.php index 64bd35729..390e77bfc 100644 --- a/lib/exe/fetch.php +++ b/lib/exe/fetch.php @@ -151,42 +151,6 @@ function http_rangeRequest($size){ return array($start,$tot); } -/** - * Checks and sets HTTP headers for conditional HTTP requests - * - * @author Simon Willison - * @link http://simon.incutio.com/archive/2003/04/23/conditionalGet - */ -function http_conditionalRequest($timestamp){ - // A PHP implementation of conditional get, see - // http://fishbowl.pastiche.org/archives/001132.html - $last_modified = substr(date('r', $timestamp), 0, -5).'GMT'; - $etag = '"'.md5($last_modified).'"'; - // Send the headers - header("Last-Modified: $last_modified"); - header("ETag: $etag"); - // See if the client has provided the required headers - $if_modified_since = isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? - stripslashes($_SERVER['HTTP_IF_MODIFIED_SINCE']) : - false; - $if_none_match = isset($_SERVER['HTTP_IF_NONE_MATCH']) ? - stripslashes($_SERVER['HTTP_IF_NONE_MATCH']) : - false; - if (!$if_modified_since && !$if_none_match) { - return; - } - // At least one of the headers is there - check them - if ($if_none_match && $if_none_match != $etag) { - return; // etag is there but doesn't match - } - if ($if_modified_since && $if_modified_since != $last_modified) { - return; // if-modified-since is there but doesn't match - } - // Nothing has changed since their last request - serve a 304 and exit - header('HTTP/1.0 304 Not Modified'); - exit; -} - /** * Resizes the given image to the given size * -- cgit v1.2.3