2013-09-29 11 views
0

일부 데이터를 파이프하는 방법에 대해 약간 혼란 스럽습니다.POST 요청을 파이프하는 방법

는 내가 아닌 요청 POST 나는 것 일반적으로 단지 행동 'mystreams2.pipe

var options = { 
    host: 'localhost', 
    port: 8529, 
    path: '/_api/cursor', 
    method: 'POST', 
    headers: { 
     'Content-Type': 'application/x-www-form-urlencoded', 
     'Content-Length': data.length 
    } 
} 

var req = http.request(options); 

에 내가 입력 할 데이터를 포함하는 출력 스트림 (REQ을 가지고 작업 일부 파이프를 가지고 및 체인했습니다) '어떻게'data.length '값을 설정합니까?

, 당신이 당신의 버퍼에 데이터의 거대한 양의가없는 가정으로

답변

0

(I는 streams2 인터페이스하지 이전 스트림 형식을 사용하고 있습니다)를 찾기 위해 데이터를 수집하는 첫번째 필요 그것의 길이.

var source = /* a readable stream */; 
var data = ''; 

source.on('data', function(chunk) { 
    data += chunk; 
}); 
source.on('end', function() { 
    var options = { 
    host: 'localhost', 
    port: 8529, 
    path: '/_api/cursor', 
    method: 'POST', 
    headers: { 
     'Content-Type': 'application/x-www-form-urlencoded', 
     'Content-Length': data.length 
    } 
    }; 

    var req = http.request(options); 
    req.end(data); 
}); 
관련 문제