2013-09-29 2 views
0

Я немного смущен о том, как передавать некоторые данные.Как отправлять запросы POST

У меня есть несколько труб, работающих и приковал таким образом, что я не выходной поток, содержащий данные, которые я хочу, чтобы ввести в запросе POST

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); 

я обычно просто действие «mystreams2.pipe (Req) ', но как установить значение data.length?

(я использую интерфейс streams2 не старый формат потока)

ответ

0

По предположению, что вы не имеете огромное количество данных в буфере, сначала необходимо собрать данные для того, чтобы найти его длина.

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); 
}); 
Смежные вопросы