Se você possui o Node.js 4.4 ou superior, consulte reqclient , que permite fazer chamadas e registrar as solicitações em cURL estilo , para que você possa verificar e reproduzir facilmente as chamadas fora do aplicativo.
Retorna objetos Promise , em vez de transmitir retornos de chamada simples, para que você possa lidar com o resultado de uma maneira mais "fashion" , encadeando o resultado facilmente e manipular erros de maneira padrão. Também remove muitas configurações padrão em cada solicitação: URL base, tempo limite, formato do tipo de conteúdo, cabeçalhos padrão, parâmetros e ligação de consulta na URL e recursos básicos de cache.
Este é um exemplo de como inicializá-lo, fazer uma chamada e registrar a operação com o estilo curl :
var RequestClient = require("reqclient").RequestClient;
var client = new RequestClient({
baseUrl:"http://baseurl.com/api/", debugRequest:true, debugResponse:true});
client.post("client/orders", {"client": 1234, "ref_id": "A987"},{"x-token": "AFF01XX"});
Isso fará o login no console ...
[Requesting client/orders]-> -X POST http://baseurl.com/api/client/orders -d '{"client": 1234, "ref_id": "A987"}' -H '{"x-token": "AFF01XX"}' -H Content-Type:application/json
E quando a resposta é retornada ...
[Response client/orders]<- Status 200 - {"orderId": 1320934}
Este é um exemplo de como lidar com a resposta com o objeto de promessa:
client.get("reports/clients")
.then(function(response) {
// Do something with the result
}).catch(console.error); // In case of error ...
Claro, ele pode ser instalado com: npm install reqclient
.