Issue #2362123 by Wim Leers: Drupal_page_header() and drupal_send_headers() are dead code: already deprecated, zero uses remain: remove.
parent
a7190eb8dc
commit
5b1f495510
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue