protected function createCurl() {
        $ch = curl_init();

        // Add the body first so we can calculate a content length.
        $body = '';
        if ($this->method === self::METHOD_HEAD) {
            curl_setopt($ch, CURLOPT_NOBODY, true);
        } elseif ($this->method !== self::METHOD_GET) {
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $this->method);

            $body = $this->makeCurlBody();
            if ($body) {
                curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
            }
        }

        // Decode the headers.
        $headers = [];
        foreach ($this->getHeaders() as $key => $values) {
            foreach ($values as $line) {
                $headers[] = "$key: $line";
            }
        }

        if (is_string($body) && !$this->hasHeader('Content-Length')) {
            $headers[] = 'Content-Length: '.strlen($body);
        }

        if (!$this->hasHeader('Expect')) {
            $headers[] = 'Expect:';
        }

        curl_setopt(
            $ch,
            CURLOPT_HTTP_VERSION,
            $this->getProtocolVersion() == '1.0' ? CURL_HTTP_VERSION_1_0 : CURL_HTTP_VERSION_1_1
        );

        curl_setopt($ch, CURLOPT_URL, $this->url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, $this->getTimeout());
        curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $this->verifyPeer);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, $this->verifyPeer ? 2 : 0);
        curl_setopt($ch, CURLOPT_ENCODING, ''); //"utf-8");
        curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);

        if (!empty($this->auth)) {
            curl_setopt($ch, CURLOPT_USERPWD, $this->auth[0].":".((empty($this->auth[1])) ? "" : $this->auth[1]));
        }

        return $ch;
    }
protected function createCurl() {
        $ch = curl_init();

        // Add the body first so we can calculate a content length.
        $body = '';
        if ($this->method === self::METHOD_HEAD) {
            curl_setopt($ch, CURLOPT_NOBODY, true);
        } elseif ($this->method !== self::METHOD_GET) {
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $this->method);

            $body = $this->makeCurlBody();
            if ($body) {
                curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
            }
        }

        // Decode the headers.
        $headers = [];
        foreach ($this->getHeaders() as $key => $values) {
            foreach ($values as $line) {
                $headers[] = "$key: $line";
            }
        }

        if (is_string($body) && !$this->hasHeader('Content-Length')) {
            $headers[] = 'Content-Length: '.strlen($body);
        }

        if (!$this->hasHeader('Expect')) {
            $headers[] = 'Expect:';
        }

        curl_setopt(
            $ch,
            CURLOPT_HTTP_VERSION,
            $this->getProtocolVersion() == '1.0' ? CURL_HTTP_VERSION_1_0 : CURL_HTTP_VERSION_1_1
        );

        curl_setopt($ch, CURLOPT_URL, $this->url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, $this->getTimeout());
        curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $this->verifyPeer);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, $this->verifyPeer ? 2 : 0);
        curl_setopt($ch, CURLOPT_ENCODING, ''); //"utf-8");
        curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);

        if (!empty($this->auth)) {
            curl_setopt($ch, CURLOPT_USERPWD, $this->auth[0].":".((empty($this->auth[1])) ? "" : $this->auth[1]));
        }

        return $ch;
    }
protected function createCurl ( ) { $ ch = curl_init ( ) ; // Add the body first so we can calculate a content length. $ body = '' ; if ( $ this -> method === self :: METHOD_HEAD ) { curl_setopt ( $ ch , CURLOPT_NOBODY , true ) ; } elseif ( $ this -> method !== self :: METHOD_GET ) { curl_setopt ( $ ch , CURLOPT_CUSTOMREQUEST , $ this -> method ) ; $ body = $ this -> makeCurlBody ( ) ; if ( $ body ) { curl_setopt ( $ ch , CURLOPT_POSTFIELDS , $ body ) ; } } // Decode the headers. $ headers = [ ] ; foreach ( $ this -> getHeaders ( ) as $ key => $ values ) { foreach ( $ values as $ line ) { $ headers [ ] = "$key: $line" ; } } if ( is_string ( $ body ) && ! $ this -> hasHeader ( 'Content-Length' ) ) { $ headers [ ] = 'Content-Length: ' . strlen ( $ body ) ; } if ( ! $ this -> hasHeader ( 'Expect' ) ) { $ headers [ ] = 'Expect:' ; } curl_setopt ( $ ch , CURLOPT_HTTP_VERSION , $ this -> getProtocolVersion ( ) == '1.0' ? CURL_HTTP_VERSION_1_0 : CURL_HTTP_VERSION_1_1 ) ; curl_setopt ( $ ch , CURLOPT_URL , $ this -> url ) ; curl_setopt ( $ ch , CURLOPT_RETURNTRANSFER , true ) ; curl_setopt ( $ ch , CURLOPT_FOLLOWLOCATION , true ) ; curl_setopt ( $ ch , CURLOPT_TIMEOUT , $ this -> getTimeout ( ) ) ; curl_setopt ( $ ch , CURLOPT_MAXREDIRS , 10 ) ; curl_setopt ( $ ch , CURLOPT_HTTPHEADER , $ headers ) ; curl_setopt ( $ ch , CURLOPT_HEADER , true ) ; curl_setopt ( $ ch , CURLOPT_SSL_VERIFYPEER , $ this -> verifyPeer ) ; curl_setopt ( $ ch , CURLOPT_SSL_VERIFYHOST , $ this -> verifyPeer ? 2 : 0 ) ; curl_setopt ( $ ch , CURLOPT_ENCODING , '' ) ; //"utf-8"); curl_setopt ( $ ch , CURLOPT_PROTOCOLS , CURLPROTO_HTTP | CURLPROTO_HTTPS ) ; if ( ! empty ( $ this -> auth ) ) { curl_setopt ( $ ch , CURLOPT_USERPWD , $ this -> auth [ 0 ] . ":" . ( ( empty ( $ this -> auth [ 1 ] ) ) ? "" : $ this -> auth [ 1 ] ) ) ; } return $ ch ; }
Create the cURL resource that represents this request.

@return resource Returns the cURL resource.
@see curl_init(), curl_setopt(), curl_exec()
Create the cURL resource that represents this request .