WordPress at Your Fingertips
function is not described

WP_Site_Health::get_test_http_requests() public WP 5.2.0

Test if HTTP requests are blocked.

It's possible to block all outgoing communication (with the possibility of allowing certain hosts) via the HTTP API. This may create problems for users as many features are running as services these days.

{} It's a method of the class: WP_Site_Health{}

No Hooks.

Return

Array. The test results.

Usage

$WP_Site_Health = new WP_Site_Health();
$WP_Site_Health->get_test_http_requests();

Changelog

Since 5.2.0 Introduced.

Code of WP_Site_Health::get_test_http_requests() WP 5.8.2

public function get_test_http_requests() {
	$result = array(
		'label'       => __( 'HTTP requests seem to be working as expected' ),
		'status'      => 'good',
		'badge'       => array(
			'label' => __( 'Performance' ),
			'color' => 'blue',
		),
		'description' => sprintf(
			'<p>%s</p>',
			__( 'It is possible for site maintainers to block all, or some, communication to other sites and services. If set up incorrectly, this may prevent plugins and themes from working as intended.' )
		),
		'actions'     => '',
		'test'        => 'http_requests',
	);

	$blocked = false;
	$hosts   = array();

	if ( defined( 'WP_HTTP_BLOCK_EXTERNAL' ) && WP_HTTP_BLOCK_EXTERNAL ) {
		$blocked = true;
	}

	if ( defined( 'WP_ACCESSIBLE_HOSTS' ) ) {
		$hosts = explode( ',', WP_ACCESSIBLE_HOSTS );
	}

	if ( $blocked && 0 === count( $hosts ) ) {
		$result['status'] = 'critical';

		$result['label'] = __( 'HTTP requests are blocked' );

		$result['description'] .= sprintf(
			'<p>%s</p>',
			sprintf(
				/* translators: %s: Name of the constant used. */
				__( 'HTTP requests have been blocked by the %s constant, with no allowed hosts.' ),
				'<code>WP_HTTP_BLOCK_EXTERNAL</code>'
			)
		);
	}

	if ( $blocked && 0 < count( $hosts ) ) {
		$result['status'] = 'recommended';

		$result['label'] = __( 'HTTP requests are partially blocked' );

		$result['description'] .= sprintf(
			'<p>%s</p>',
			sprintf(
				/* translators: 1: Name of the constant used. 2: List of allowed hostnames. */
				__( 'HTTP requests have been blocked by the %1$s constant, with some allowed hosts: %2$s.' ),
				'<code>WP_HTTP_BLOCK_EXTERNAL</code>',
				implode( ',', $hosts )
			)
		);
	}

	return $result;
}