Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function addResponseHeaders($request, $response, $ext, $modifiedTimestamp, $downloadFileName = null)
- {
- $mime = ExtToMIME::convert($ext);
- $headers = &$response->headers;
- $headers->set('Content-Type', $mime, true);
- $headers->set('Cache-Control', 'public', true); // TODO max-age=xxx
- $headers->set('Last-Modified', gmdate("D, d M Y H:i:s", $modifiedTimestamp) . " GMT", true);
- if ($downloadFileName != null) {
- $headers->set('Content-Disposition', 'filename="' . $downloadFileName . '"', true);
- }
- // note that it should be STRING
- $eTag = (string) $modifiedTimestamp;
- addRespETag($request, $response, $eTag);
- }
- function addRespETag($request, $response, string $eTag)
- {
- $requestEtag = str_replace('"', '', $request->getETags());
- // Check to see if Etag has changed
- // strpos -> in case the browser gets `{etag}-gzip`
- if ($requestEtag && strpos($requestEtag[0], $eTag) === 0) {
- $response->setNotModified();
- }
- // Set Etag
- $response->setEtag($eTag);
- }
Add Comment
Please, Sign In to add comment