Seditio Source
Root |
./othercms/wordpress-6.0/wp-includes/class-wp-http-requests-hooks.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 bool 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 action.
         *
         * This action maps Requests internal hook to a native WordPress action.
         *
         * @see https://github.com/WordPress/Requests/blob/master/docs/hooks.md
         *
         * @since 4.7.0
         *
         * @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 ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores

       
return $result;
    }
}