apply_filters( 'pre_http_request', false|array|WP_Error $response, array $parsed_args, string $url )

Filters the preemptive return value of an HTTP request.


Returning a non-false value from the filter will short-circuit the HTTP request and return early with that value. A filter should return one of:

  • An array containing ‘headers’, ‘body’, ‘response’, ‘cookies’, and ‘filename’ elements
  • A WP_Error instance
  • boolean false to avoid short-circuiting the response

Returning any other value may result in unexpected behavior.

Top ↑


$response false|array|WP_Error
A preemptive return value of an HTTP request. Default false.
$parsed_args array
HTTP request arguments.
$url string
The request URL.

Top ↑


File: wp-includes/class-wp-http.php. View all references

$pre = apply_filters( 'pre_http_request', false, $parsed_args, $url );

Top ↑


Version Description
2.9.0 Introduced.

Top ↑

User Contributed Notes

  1. Skip to note 1 content
    add_filter( 'pre_http_request', 'pass_or_reject_request', 10, 3 );
    function pass_or_reject_request( $preempt, $parsed_args, $url ){
    	// filter...
    	if( strpos($url, 'http(s)://') !==false ){
    		return new WP_Error( 'http_request_block', __( "This request is not allowed", "textdomain" ) );
    	return $preempt;

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