WordPress.org

Make WordPress Core

Ticket #39783: 39783.diff

File 39783.diff, 1.5 KB (added by pento, 3 years ago)
  • src/wp-includes/class-wp-http-requests-hooks.php

     
    5454                switch ( $hook ) {
    5555                        case 'curl.before_send':
    5656                                /** This action is documented in wp-includes/class-wp-http-curl.php */
    57                                 do_action_ref_array( 'http_api_curl', array( $parameters[0], $this->request, $this->url ) );
     57                                do_action_ref_array( 'http_api_curl', array( &$parameters[0], $this->request, $this->url ) );
    5858                                break;
    5959                }
    6060
  • tests/phpunit/tests/http/curl.php

     
    88 */
    99class Tests_HTTP_curl extends WP_HTTP_UnitTestCase {
    1010        var $transport = 'curl';
     11
     12        /**
     13         * @ticket 39783
     14         */
     15        public function test_http_api_curl_stream_parameter_is_a_reference() {
     16                add_action( 'http_api_curl', array( $this, '_action_test_http_api_curl_stream_parameter_is_a_reference' ), 10, 3 );
     17                wp_remote_request( $this->fileStreamUrl, array( 'stream' => true, 'timeout' => 30 ) );
     18                remove_action( 'http_api_curl', array( $this, '_action_test_http_api_curl_stream_parameter_is_a_reference' ), 10 );
     19        }
     20
     21        public function _action_test_http_api_curl_stream_parameter_is_a_reference( &$stream, $r, $url ) {
     22                // $stream not being a reference will cause a PHP warning
     23        }
    1124}