如何安全地中止NodeJS中的管道流?

时间:2016-07-04 02:58:14

标签: node.js stream node-request ogr2ogr

我使用请求将HTTP流传输到本地地理空间文件处理实用程序,ogr2ogr:

    httpStream.on('response', function(response) {
        var ogr = ogr2ogr(response)
                .skipfailures()
                .options(['-t_srs', 'EPSG:4326']);

但是,如果我收到的文件太大,我想中止:

        response.on('data', function (chunk) {
            len += chunk.length;
            if (!abort && len > convert.maxConversionSize) {
                tooBigError(request, res);
                abort = true;
                httpStream.abort();
                // response.destroy(); //??
            }

正在呼叫httpStream.abort()吗? ogr2ogr进程究竟发生了什么?它挂了吗?什么是确保它被清理干净的正确方法,并且不会在某处留下半满的内存缓冲区?

0 个答案:

没有答案