node-libcurl

    Interface MimeDataCallbacks

    Type definition for MIME data callback functions.

    interface MimeDataCallbacks {
        free?: () => void;
        read: (
            size: number,
        ) => null | string | Buffer<ArrayBufferLike> | CurlReadFunc;
        seek?: (offset: number, origin: number) => boolean;
    }
    Index

    Properties

    Properties

    free?: () => void

    Optional cleanup callback called when the part is freed.

    free: () => {
    console.log('Cleaning up resources')
    }
    read: (size: number) => null | string | Buffer<ArrayBufferLike> | CurlReadFunc

    Read callback to provide data chunks.

    Type Declaration

      • (size: number): null | string | Buffer<ArrayBufferLike> | CurlReadFunc
      • Parameters

        • size: number

          Maximum number of bytes to read

        Returns null | string | Buffer<ArrayBufferLike> | CurlReadFunc

        Buffer, string, null for EOF, or CurlReadFunc value (Pause/Abort)

    When CurlReadFunc.Pause is returned, the transfer will be paused until it is explicitly resumed by calling handle.pause(handle.pauseFlags & ~CurlPause.Recv). When CurlReadFunc.Abort is returned, the transfer will be aborted.

    read: (size) => {
    if (offset >= data.length) return null // EOF
    const chunk = data.slice(offset, offset + size)
    offset += chunk.length
    return chunk
    }
    seek?: (offset: number, origin: number) => boolean

    Optional seek callback for repositioning the data stream.

    Type Declaration

      • (offset: number, origin: number): boolean
      • Parameters

        • offset: number

          The offset to seek to

        • origin: number

          Seek origin: 0=SEEK_SET, 1=SEEK_CUR, 2=SEEK_END

        Returns boolean

        true if seek succeeded, false otherwise

    seek: (offset, origin) => {
    if (origin === 0) { // SEEK_SET
    currentOffset = offset
    return true
    }
    return false // Other origins not supported
    }
    MMNEPVFCICPMFPCPTTAAATR