node-libcurl

    Enumeration CurlFeature

    Flags to be used with Curl#enable and Curl#disable

    Index

    Enumeration Members

    Empty: 0

    Initial state

    NoDataParsing: 1

    Data received is passed as a Buffer to the end event.

    NoDataStorage: 4

    Data received is not stored inside this handle, implies NoDataParsing.

    NoHeaderParsing: 2

    Header received is not parsed, it's passed as a Buffer to the end event.

    NoHeaderStorage: 8

    Header received is not stored inside this handle, implies NoHeaderParsing.

    NoStorage: 12

    Same than NoDataStorage | NoHeaderStorage, implies Raw.

    Raw: 3

    Same than NoDataParsing | NoHeaderParsing

    StreamResponse: 16

    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#setStreamResponseHighWaterMark

    Make sure your libcurl version is greater than or equal 7.69.1. Versions older than that one are not reliable for streams usage.

    MMNEPVFCICPMFPCPTTAAATR