protected function callbackReadBody($ch, $fd, $length)
    {
        if (!$this->eventSentHeaders) {
            $this->request->setLastEvent(
                'sentHeaders', curl_getinfo($ch, CURLINFO_HEADER_OUT)
            );
            $this->eventSentHeaders = true;
        }
        if (in_array($this->request->getMethod(), self::$bodyDisallowed)
            || 0 == $this->contentLength || $this->position >= $this->contentLength
        ) {
            return '';
        }
        if (is_string($this->requestBody)) {
            $string = substr($this->requestBody, $this->position, $length);
        } elseif (is_resource($this->requestBody)) {
            $string = fread($this->requestBody, $length);
        } else {
            $string = $this->requestBody->read($length);
        }
        $this->request->setLastEvent('sentBodyPart', strlen($string));
        $this->position += strlen($string);
        return $string;
    }
protected function callbackReadBody($ch, $fd, $length)
    {
        if (!$this->eventSentHeaders) {
            $this->request->setLastEvent(
                'sentHeaders', curl_getinfo($ch, CURLINFO_HEADER_OUT)
            );
            $this->eventSentHeaders = true;
        }
        if (in_array($this->request->getMethod(), self::$bodyDisallowed)
            || 0 == $this->contentLength || $this->position >= $this->contentLength
        ) {
            return '';
        }
        if (is_string($this->requestBody)) {
            $string = substr($this->requestBody, $this->position, $length);
        } elseif (is_resource($this->requestBody)) {
            $string = fread($this->requestBody, $length);
        } else {
            $string = $this->requestBody->read($length);
        }
        $this->request->setLastEvent('sentBodyPart', strlen($string));
        $this->position += strlen($string);
        return $string;
    }
protected function callbackReadBody ( $ ch , $ fd , $ length ) { if ( ! $ this -> eventSentHeaders ) { $ this -> request -> setLastEvent ( 'sentHeaders' , curl_getinfo ( $ ch , CURLINFO_HEADER_OUT ) ) ; $ this -> eventSentHeaders = true ; } if ( in_array ( $ this -> request -> getMethod ( ) , self :: $ bodyDisallowed ) || 0 == $ this -> contentLength || $ this -> position >= $ this -> contentLength ) { return '' ; } if ( is_string ( $ this -> requestBody ) ) { $ string = substr ( $ this -> requestBody , $ this -> position , $ length ) ; } elseif ( is_resource ( $ this -> requestBody ) ) { $ string = fread ( $ this -> requestBody , $ length ) ; } else { $ string = $ this -> requestBody -> read ( $ length ) ; } $ this -> request -> setLastEvent ( 'sentBodyPart' , strlen ( $ string ) ) ; $ this -> position += strlen ( $ string ) ; return $ string ; }
Callback function called by cURL for reading the request body

@param resource $ch     cURL handle
@param resource $fd     file descriptor (not used)
@param integer  $length maximum length of data to return

@return   string      part of the request body, up to $length bytes
Callback function called by cURL for reading the request body