WordPress.org

Make WordPress Core

Ticket #4779: 4779.encode.post.data.2.diff

File 4779.encode.post.data.2.diff, 1.4 KB (added by DD32, 10 years ago)
  • wp-includes/http.php

     
    170170         * @param string $url URI resource.
    171171         * @param str|array $args Optional. Override the defaults.
    172172         * @param string|array $headers Optional. Either the header string or array of Header name and value pairs. Expects sanitized.
    173          * @param string $body Optional. The body that should be sent. Expected to be already processed.
     173         * @param string $body Optional. The body that should be sent. Will be automatically escaped and processed.
    174174         * @return boolean
    175175         */
    176176        function request($url, $args = array(), $headers = null, $body = null) {
     
    188188                if ( ! is_null($headers) && ! is_array($headers) ) {
    189189                        $processedHeaders = WP_Http::processHeaders($headers);
    190190                        $headers = $processedHeaders['headers'];
    191                 } else {
    192                         $headers = array();
    193191                }
    194192
    195193                if ( ! isset($headers['user-agent']) || ! isset($headers['User-Agent']) )
    196194                        $headers['user-agent'] = $r['user-agent'];
    197195
    198                 if ( is_null($body) )
     196                if ( ! is_null($body) ) {
     197                        if ( ! is_string($body) )
     198                                $body = http_build_query($body);
     199                       
     200                        $transport = WP_Http::_postTransport();
     201                } else {
    199202                        $transport = WP_Http::_getTransport();
    200                 else
    201                         $transport = WP_Http::_postTransport();
     203                }
    202204
    203205                return $transport->request($url, $r, $headers, $body);
    204206        }