lithium\test\Integration::_hasNetwork()

protected method

Checks for a working internet connection.

This method is used to check for a working connection to google.com, both testing for proper DNS resolution and reading the actual URL.

Parameters

  • array $config

    Override the default URL to check.

Returns

boolean

True if a network connection is established, false otherwise.

Source

	protected function _hasNetwork($config = []) {
		$defaults = [
			'scheme' => 'http',
			'host' => 'google.com'
		];
		$config += $defaults;

		$url = "{$config['scheme']}://{$config['host']}";
		$failed = false;

		set_error_handler(function($errno, $errstr) use (&$failed) {
			$failed = true;
		});

		dns_check_record($config['host'], 'A');

		if ($handle = fopen($url, 'r')) {
			fclose($handle);
		}

		restore_error_handler();
		return !$failed;
	}