Merge pull request #9153 from creative-commoners/pulls/4.4/stream-ree-tags

FIX Skip md5-ing the whole contents of a stream for etags
This commit is contained in:
Robbie Averill 2019-09-13 17:59:26 -07:00 committed by GitHub
commit cfe86ad5a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,6 +4,7 @@ namespace SilverStripe\Control\Middleware;
use SilverStripe\Control\HTTPRequest;
use SilverStripe\Control\HTTPResponse;
use SilverStripe\Control\HTTPStreamResponse;
use SilverStripe\Core\Injector\Injectable;
/**
@ -69,6 +70,11 @@ class ChangeDetectionMiddleware implements HTTPMiddleware
return $etag;
}
// Skip parsing the whole body of a stream
if ($response instanceof HTTPStreamResponse) {
return false;
}
// Generate etag from body
return sprintf('"%s"', md5($response->getBody()));
}