Se hai Node.js 4.4+, dai un'occhiata a reqclient , ti consente di effettuare chiamate e registrare le richieste in stile cURL , in modo da poter controllare e riprodurre facilmente le chiamate all'esterno dell'applicazione.
Restituisce gli oggetti Promessa anziché passare semplici callback, in modo da poter gestire il risultato in modo più "fashion" , concatenare il risultato facilmente e gestire gli errori in modo standard. Rimuove anche molte configurazioni di plateplate su ogni richiesta: URL di base, timeout, formato del tipo di contenuto, intestazioni predefinite, parametri e associazione di query nell'URL e funzionalità di base della cache.
Questo è un esempio di come inizializzarlo, effettuare una chiamata e registrare l'operazione con lo stile arricciatura :
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"});
Questo accederà alla 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 la risposta viene restituita ...
[Response client/orders]<- Status 200 - {"orderId": 1320934}
Questo è un esempio di come gestire la risposta con l'oggetto promessa:
client.get("reports/clients")
.then(function(response) {
// Do something with the result
}).catch(console.error); // In case of error ...
Naturalmente, può essere installato con: npm install reqclient
.