public function putFile($url, $file, array $headers = array())
    {
        $file = $this->openFile($file);
        $stat = fstat($file);

        curl_setopt($this->handle, CURLOPT_PUT, true);
        curl_setopt($this->handle, CURLOPT_INFILE, $file);
        curl_setopt($this->handle, CURLOPT_INFILESIZE, $stat['size']);

        return $this->execute($url, $headers);
    }