Если у вас Node.js 4.4+, взгляните на reqclient , он позволяет вам совершать звонки и регистрировать запросы в стиле cURL , чтобы вы могли легко проверять и воспроизводить звонки вне приложения.
Возвращает объекты Promise вместо передачи простых обратных вызовов, так что вы можете обработать результат более «модным» способом, цепочкой легко результаты и обрабатывать ошибки стандартным способом. Также удаляет множество стандартных конфигураций для каждого запроса: базовый URL, время ожидания, формат типа контента, заголовки по умолчанию, параметры и привязку запроса в URL, а также основные функции кэша.
Это пример того, как его инициализировать, сделать вызов и зарегистрировать операцию в стиле 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"});
Это войдет в консоль ...
[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
И когда ответ возвращается ...
[Response client/orders]<- Status 200 - {"orderId": 1320934}
Это пример того, как обрабатывать ответ с объектом обещания:
client.get("reports/clients")
.then(function(response) {
// Do something with the result
}).catch(console.error); // In case of error ...
Конечно, он может быть установлен с: npm install reqclient
.