protected function getCurlOptions($type, $file = null)
    {
        // base options
        $options = $this->options;

        // callback
        if(!is_null($this->callback))
        {
            $callback = $this->callback;

            $options[CURLOPT_WRITEFUNCTION] = function($handler, $data) use($callback)
            {
                $this->response .= $data;

                $callback($data);

                // safe because cURL must receive the number of *bytes* written
                return strlen($data);
            };
        }

        // remote file options
        if($file && preg_match('/^http/', $file))
        {
            //
        }
        // local file options
        elseif($file && file_exists($file) && is_readable($file))
        {
            $options[CURLOPT_INFILE] = fopen($file, 'r');
            $options[CURLOPT_INFILESIZE] = filesize($file);
        }
        // other options for specific requests
        elseif(in_array($type,  ['detectors', 'mime-types', 'parsers', 'version']))
        {
            $options[CURLOPT_PUT] = false;
        }
        // file not accesible
        else
        {
            throw new Exception("File $file can't be opened");
        }

        return $options;
    }
protected function getCurlOptions($type, $file = null)
    {
        // base options
        $options = $this->options;

        // callback
        if(!is_null($this->callback))
        {
            $callback = $this->callback;

            $options[CURLOPT_WRITEFUNCTION] = function($handler, $data) use($callback)
            {
                $this->response .= $data;

                $callback($data);

                // safe because cURL must receive the number of *bytes* written
                return strlen($data);
            };
        }

        // remote file options
        if($file && preg_match('/^http/', $file))
        {
            //
        }
        // local file options
        elseif($file && file_exists($file) && is_readable($file))
        {
            $options[CURLOPT_INFILE] = fopen($file, 'r');
            $options[CURLOPT_INFILESIZE] = filesize($file);
        }
        // other options for specific requests
        elseif(in_array($type,  ['detectors', 'mime-types', 'parsers', 'version']))
        {
            $options[CURLOPT_PUT] = false;
        }
        // file not accesible
        else
        {
            throw new Exception("File $file can't be opened");
        }

        return $options;
    }
protected function getCurlOptions ( $ type , $ file = null ) { // base options $ options = $ this -> options ; // callback if ( ! is_null ( $ this -> callback ) ) { $ callback = $ this -> callback ; $ options [ CURLOPT_WRITEFUNCTION ] = function ( $ handler , $ data ) use ( $ callback ) { $ this -> response .= $ data ; $ callback ( $ data ) ; // safe because cURL must receive the number of *bytes* written return strlen ( $ data ) ; } ; } // remote file options if ( $ file && preg_match ( '/^http/' , $ file ) ) { // } // local file options elseif ( $ file && file_exists ( $ file ) && is_readable ( $ file ) ) { $ options [ CURLOPT_INFILE ] = fopen ( $ file , 'r' ) ; $ options [ CURLOPT_INFILESIZE ] = filesize ( $ file ) ; } // other options for specific requests elseif ( in_array ( $ type , [ 'detectors' , 'mime-types' , 'parsers' , 'version' ] ) ) { $ options [ CURLOPT_PUT ] = false ; } // file not accesible else { throw new Exception ( "File $file can't be opened" ) ; } return $ options ; }
Get the cURL options

@param   string  $type
@param   string  $file
@return  array
@throws  \Exception
Get the cURL options