_fetch_remote_file

Definition:
function _fetch_remote_file($url, $headers = "" ) {}

Retrieve URL headers and content using WP HTTP Request API.

Parameters

  • string $url: URL to retrieve
  • array $headers: Optional. Headers to send to the URL.

Return values

returns:style response

Source code

function _fetch_remote_file($url, $headers = "" ) {

	$resp = wp_remote_request($url, array('headers' => $headers, 'timeout' => MAGPIE_FETCH_TIME_OUT));

	if ( is_wp_error($resp) ) {

		$error = array_shift($resp->errors);



		$resp = new stdClass;

		$resp->status = 500;

		$resp->response_code = 500;

		$resp->error = $error[0] . "\n"; //\n = Snoopy compatibility

		return $resp;

	}



	// Snoopy returns headers unprocessed.

	// Also note, WP_HTTP lowercases all keys, Snoopy did not.

	$return_headers = array();

	foreach ( wp_remote_retrieve_headers( $resp ) as $key => $value ) {

		if ( !is_array($value) ) {

			$return_headers[] = "$key: $value";

		} else {

			foreach ( $value as $v )

				$return_headers[] = "$key: $v";

		}

	}



	$response = new stdClass;

	$response->status = wp_remote_retrieve_response_code( $resp );

	$response->response_code = wp_remote_retrieve_response_code( $resp );

	$response->headers = $return_headers;

	$response->results = wp_remote_retrieve_body( $resp );



	return $response;

}

4313

No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: