WP_REST_Server::get_headers( array $server ): array

In this article

Extracts headers from a PHP-style $_SERVER array.

Parameters

$serverarrayrequired
Associative array similar to $_SERVER.

Return

array Headers extracted from the input.

Source

public function get_headers( $server ) {
	$headers = array();

	// CONTENT_* headers are not prefixed with HTTP_.
	$additional = array(
		'CONTENT_LENGTH' => true,
		'CONTENT_MD5'    => true,
		'CONTENT_TYPE'   => true,
	);

	foreach ( $server as $key => $value ) {
		if ( str_starts_with( $key, 'HTTP_' ) ) {
			$headers[ substr( $key, 5 ) ] = $value;
		} elseif ( 'REDIRECT_HTTP_AUTHORIZATION' === $key && empty( $server['HTTP_AUTHORIZATION'] ) ) {
			/*
			 * In some server configurations, the authorization header is passed in this alternate location.
			 * Since it would not be passed in in both places we do not check for both headers and resolve.
			 */
			$headers['AUTHORIZATION'] = $value;
		} elseif ( isset( $additional[ $key ] ) ) {
			$headers[ $key ] = $value;
		}
	}

	return $headers;
}

Changelog

VersionDescription
4.4.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.