WordPress/wp-includes/class-wp-http-requests-hooks.php
Gary Pendergast aaf99e6913 Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.


Built from https://develop.svn.wordpress.org/trunk@42343


git-svn-id: http://core.svn.wordpress.org/trunk@42172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-30 23:11:00 +00:00

77 lines
1.8 KiB
PHP

<?php
/**
* HTTP API: Requests hook bridge class
*
* @package WordPress
* @subpackage HTTP
* @since 4.7.0
*/
/**
* Bridge to connect Requests internal hooks to WordPress actions.
*
* @since 4.7.0
*
* @see Requests_Hooks
*/
class WP_HTTP_Requests_Hooks extends Requests_Hooks {
/**
* Requested URL.
*
* @var string Requested URL.
*/
protected $url;
/**
* WordPress WP_HTTP request data.
*
* @var array Request data in WP_Http format.
*/
protected $request = array();
/**
* Constructor.
*
* @param string $url URL to request.
* @param array $request Request data in WP_Http format.
*/
public function __construct( $url, $request ) {
$this->url = $url;
$this->request = $request;
}
/**
* Dispatch a Requests hook to a native WordPress action.
*
* @param string $hook Hook name.
* @param array $parameters Parameters to pass to callbacks.
* @return boolean True if hooks were run, false if nothing was hooked.
*/
public function dispatch( $hook, $parameters = array() ) {
$result = parent::dispatch( $hook, $parameters );
// Handle back-compat actions
switch ( $hook ) {
case 'curl.before_send':
/** This action is documented in wp-includes/class-wp-http-curl.php */
do_action_ref_array( 'http_api_curl', array( &$parameters[0], $this->request, $this->url ) );
break;
}
/**
* Transforms a native Request hook to a WordPress actions.
*
* This action maps Requests internal hook to a native WordPress action.
*
* @see https://github.com/rmccue/Requests/blob/master/docs/hooks.md
*
* @param array $parameters Parameters from Requests internal hook.
* @param array $request Request data in WP_Http format.
* @param string $url URL to request.
*/
do_action_ref_array( "requests-{$hook}", $parameters, $this->request, $this->url );
return $result;
}
}