Si tiene Node.js 4.4+, eche un vistazo a reqclient , le permite hacer llamadas y registrar las solicitudes en cURL estilo , para que pueda verificar y reproducir fácilmente las llamadas fuera de la aplicación.
Devuelve objetos Promesa en lugar de pasar devoluciones de llamada simples, para que pueda manejar el resultado de una manera más "fashion" , encadenando el resultado fácilmente y manejar los errores de una manera estándar. También elimina muchas configuraciones repetitivas en cada solicitud: URL base, tiempo de espera, formato de tipo de contenido, encabezados predeterminados, parámetros y enlaces de consulta en la URL, y características básicas de caché.
Este es un ejemplo de cómo inicializarlo, hacer una llamada y registrar la operación con 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"});
Esto iniciará sesión en la consola ...
[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
Y cuando se devuelve la respuesta ...
[Response client/orders]<- Status 200 - {"orderId": 1320934}
Este es un ejemplo de cómo manejar la respuesta con el objeto de promesa:
client.get("reports/clients")
.then(function(response) {
// Do something with the result
}).catch(console.error); // In case of error ...
Por supuesto, se puede instalar con: npm install reqclient
.