1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
<?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; } }
|