From 6b68495c0d39ef7d916e4905b9de1a842055654c Mon Sep 17 00:00:00 2001 From: Damian Mooyman Date: Thu, 14 Jun 2018 11:16:52 +1200 Subject: [PATCH] Rename ETagMiddleware to ChangeDetectionMiddleware --- _config/requestprocessors.yml | 2 +- src/Control/HTTP.php | 12 ++++++------ ...gMiddleware.php => ChangeDetectionMiddleware.php} | 5 +++-- 3 files changed, 10 insertions(+), 9 deletions(-) rename src/Control/Middleware/{ETagMiddleware.php => ChangeDetectionMiddleware.php} (92%) diff --git a/_config/requestprocessors.yml b/_config/requestprocessors.yml index 46917c8db..13cb7cdf6 100644 --- a/_config/requestprocessors.yml +++ b/_config/requestprocessors.yml @@ -11,7 +11,7 @@ SilverStripe\Core\Injector\Injector: SessionMiddleware: '%$SilverStripe\Control\Middleware\SessionMiddleware' RequestProcessorMiddleware: '%$SilverStripe\Control\RequestProcessor' FlushMiddleware: '%$SilverStripe\Control\Middleware\FlushMiddleware' - ETagMiddleware: '%$SilverStripe\Control\Middleware\ETagMiddleware' + ChangeDetectionMiddleware: '%$SilverStripe\Control\Middleware\ChangeDetectionMiddleware' HTTPCacheControleMiddleware: '%$SilverStripe\Control\Middleware\HTTPCacheControlMiddleware' CanonicalURLMiddleware: '%$SilverStripe\Control\Middleware\CanonicalURLMiddleware' SilverStripe\Control\Middleware\AllowedHostsMiddleware: diff --git a/src/Control/HTTP.php b/src/Control/HTTP.php index 0277e9ed6..d50a82091 100644 --- a/src/Control/HTTP.php +++ b/src/Control/HTTP.php @@ -3,7 +3,7 @@ namespace SilverStripe\Control; use SilverStripe\Assets\File; -use SilverStripe\Control\Middleware\ETagMiddleware; +use SilverStripe\Control\Middleware\ChangeDetectionMiddleware; use SilverStripe\Control\Middleware\HTTPCacheControlMiddleware; use SilverStripe\Core\Config\Config; use SilverStripe\Core\Config\Configurable; @@ -33,7 +33,7 @@ class HTTP protected static $modification_date = null; /** - * @deprecated 4.2..5.0 Handled by ETagMiddleware + * @deprecated 4.2..5.0 Handled by ChangeDetectionMiddleware * @var string */ protected static $etag = null; @@ -395,12 +395,12 @@ class HTTP } /** - * @deprecated 4.2..5.0 Use ETagMiddleware instead + * @deprecated 4.2..5.0 Use ChangeDetectionMiddleware instead * @param string $etag */ public static function register_etag($etag) { - Deprecation::notice('5.0', 'Use ETagMiddleware instead'); + Deprecation::notice('5.0', 'Use ChangeDetectionMiddleware instead'); if (strpos($etag, '"') !== 0) { $etag = "\"{$etag}\""; } @@ -453,7 +453,7 @@ class HTTP // Get current cache control state $cacheControlMiddleware = HTTPCacheControlMiddleware::singleton(); - $etagMiddleware = ETagMiddleware::singleton(); + $changeDetectionMiddleware = ChangeDetectionMiddleware::singleton(); // if http caching is disabled by config, disable it - used on dev environments due to frequently changing // templates and other data. will be overridden by forced publicCache(true) or privateCache(true) calls @@ -491,7 +491,7 @@ class HTTP } // Run middleware - $etagMiddleware->process($request, function (HTTPRequest $request) use ($cacheControlMiddleware, $response) { + $changeDetectionMiddleware->process($request, function (HTTPRequest $request) use ($cacheControlMiddleware, $response) { return $cacheControlMiddleware->process($request, function (HTTPRequest $request) use ($response) { return $response; }); diff --git a/src/Control/Middleware/ETagMiddleware.php b/src/Control/Middleware/ChangeDetectionMiddleware.php similarity index 92% rename from src/Control/Middleware/ETagMiddleware.php rename to src/Control/Middleware/ChangeDetectionMiddleware.php index 992040634..833483134 100644 --- a/src/Control/Middleware/ETagMiddleware.php +++ b/src/Control/Middleware/ChangeDetectionMiddleware.php @@ -7,9 +7,10 @@ use SilverStripe\Control\HTTPResponse; use SilverStripe\Core\Injector\Injectable; /** - * Generates and handle responses for etag header. + * Handles internal change detection via etag / ifmodifiedsince headers, + * conditonally sending a 304 not modified if possible. */ -class ETagMiddleware implements HTTPMiddleware +class ChangeDetectionMiddleware implements HTTPMiddleware { use Injectable;