Commit 5b1f4955 authored by catch's avatar catch

Issue #2362123 by Wim Leers: Drupal_page_header() and drupal_send_headers()...

Issue #2362123 by Wim Leers: Drupal_page_header() and drupal_send_headers() are dead code: already deprecated, zero uses remain: remove.
parent a7190eb8
......@@ -413,94 +413,6 @@ function _drupal_set_preferred_header_name($name = NULL) {
$header_names[strtolower($name)] = $name;
}
/**
* Sends the HTTP response headers that were previously set, adding defaults.
*
* Headers are set in _drupal_add_http_header(). Default headers are not set
* if they have been replaced or unset using _drupal_add_http_header().
*
* @param array $default_headers
* (optional) An array of headers as name/value pairs.
* @param bool $only_default
* (optional) If TRUE and headers have already been sent, send only the
* specified headers.
*
* @deprecated in Drupal 8.x-dev, will be removed before Drupal 8.0.
* See https://drupal.org/node/2181523.
*/
function drupal_send_headers($default_headers = array(), $only_default = FALSE) {
$headers_sent = &drupal_static(__FUNCTION__, FALSE);
$headers = drupal_get_http_header();
if ($only_default && $headers_sent) {
$headers = array();
}
$headers_sent = TRUE;
$header_names = _drupal_set_preferred_header_name();
foreach ($default_headers as $name => $value) {
$name_lower = strtolower($name);
if (!isset($headers[$name_lower])) {
$headers[$name_lower] = $value;
$header_names[$name_lower] = $name;
}
}
foreach ($headers as $name_lower => $value) {
if ($name_lower == 'status') {
header($_SERVER['SERVER_PROTOCOL'] . ' ' . $value);
}
// Skip headers that have been unset.
elseif ($value !== FALSE) {
header($header_names[$name_lower] . ': ' . $value);
}
}
}
/**
* Sets HTTP headers in preparation for a page response.
*
* Authenticated users are always given a 'no-cache' header, and will fetch a
* fresh page on every request. This prevents authenticated users from seeing
* locally cached pages.
*
* Also give each page a unique ETag. This should force clients to include both
* an If-Modified-Since header and an If-None-Match header when doing
* conditional requests for the page (required by RFC 2616, section 13.3.4),
* making the validation more robust. This is a workaround for a bug in Mozilla
* Firefox that is triggered when Drupal's caching is enabled and the user
* accesses Drupal via an HTTP proxy (see
* https://bugzilla.mozilla.org/show_bug.cgi?id=269303): When an authenticated
* user requests a page, and then logs out and requests the same page again,
* Firefox may send a conditional request based on the page that was cached
* locally when the user was logged in. If this page did not have an ETag
* header, the request only contains an If-Modified-Since header. The date will
* be recent, because with authenticated users the Last-Modified header always
* refers to the time of the request. If the user accesses Drupal via a proxy
* server, and the proxy already has a cached copy of the anonymous page with an
* older Last-Modified date, the proxy may respond with 304 Not Modified, making
* the client think that the anonymous and authenticated pageviews are
* identical.
*
* @see drupal_page_set_cache()
*
* @deprecated in Drupal 8.x-dev, will be removed before Drupal 8.0.
* See https://drupal.org/node/2181523.
*/
function drupal_page_header() {
$headers_sent = &drupal_static(__FUNCTION__, FALSE);
if ($headers_sent) {
return TRUE;
}
$headers_sent = TRUE;
$default_headers = array(
'Expires' => 'Sun, 19 Nov 1978 05:00:00 GMT',
'Last-Modified' => gmdate(DateTimePlus::RFC7231, REQUEST_TIME),
'Cache-Control' => 'no-cache, must-revalidate, post-check=0, pre-check=0',
'ETag' => '"' . REQUEST_TIME . '"',
);
drupal_send_headers($default_headers);
}
/**
* Sets HTTP headers in preparation for a cached page response.
*
......
......@@ -2261,8 +2261,6 @@ function drupal_clear_js_cache() {
* The fully populated response.
* @param \Symfony\Component\HttpFoundation\Request $request
* The request for this page.
*
* @see drupal_page_header()
*/
function drupal_page_set_cache(Response $response, Request $request) {
// Check if the current page may be compressed.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment