Initial state
Data received is passed as a Buffer to the end event.
Data received is not stored inside this handle, implies NoDataParsing.
Header received is not parsed, it's passed as a Buffer to the end event.
Header received is not stored inside this handle, implies NoHeaderParsing.
Same than NoDataStorage | NoHeaderStorage, implies Raw.
Same than NoDataParsing | NoHeaderParsing
This will change the behavior of the internal WRITEFUNCTION to push data into a stream instead of
buffering all the data into multiple Buffer chunks.
As soon as the stream is available, it will be passed as the first argument for the stream event.
Example usage:
 const curl = new Curl()
 curl.setOpt('URL', 'https://some-domain/upload')
 curl.setStreamProgressCallback(() => {
   // this will use the default progress callback from libcurl
   return CurlProgressFunc.Continue
 })
 curl.on('end', (statusCode, data) => {
   console.log('\n'.repeat(5))
   console.log(
     `curl - end - status: ${statusCode} - data length: ${data.length}`,
   )
   curl.close()
 })
 curl.on('error', (error, errorCode) => {
   console.log('\n'.repeat(5))
   console.error('curl - error: ', error, errorCode)
   curl.close()
 })
 curl.on('stream', async (stream, _statusCode, _headers) => {
   const writableStream = fs.createWriteStream('./test.out')
   stream.pipe(writableStream)
 })
 curl.perform()
Using this implies NoDataStorage.
To control the highWaterMark option of the response stream, see "Curl".Curl.setStreamResponseHighWaterMark | Curl#setStreamResponseHighWaterMark
Flags to be used with "Curl".Curl.enable |
Curl#enableand "Curl".Curl.disable |Curl#disable