Я использую AWS Lambda и API Gateway для создания пользовательской конечной точки для нагрузочных тестов. Я загрузил функцию моего обработчика, которая находится в файле, вместе с модулями узлов, необходимыми для функции в zip, и правильно настроил API-интерфейс API-интерфейсов в соответствии с инструкциями (в соответствии с тем, как я работал раньше) , но я продолжаю получать ошибку: {«error»: «Отсутствует токен аутентификации»}. Все, что я видел в Интернете, пока указывает на то, что URL-адрес, который я передаю с запросом POST, недействителен, но я сделал аналогичную работу с конечным пунктом с запросом GET. Насколько я знаю, я правильно настроил запрос POST (используя Superagent) и передаю действительный токен доступа, а также жестко закодированные параметры как часть URL (действительные параметры).Выполнение запроса POST с использованием Superagent, AWS Lambda, API Gateway
// Dependencies
var request = require('superagent');
var sync = require('synchronize');
exports.handler = function(event, context) {
sync.fiber(function() {
// Grabs params passed into the URL as a JSON object
var querystring = (event.querystring);
// Replaces params with an updated version which includes a single quotation
var queryStringUpdate = querystring.replace(/=/g, ":").replace(/}/g, "'}").replace(/:/g, ":'").replace(/,/g, "',");
// Updates the param information and sets it as a new string
eval('var queryString2 =' + queryStringUpdate);
// Define specific query params to be used in the REST calls
var userId = (queryString2.userId === undefined ? '229969' : queryString2.userId);
var roomdId = (queryString2.roomId === undefined ? '4' : queryString2.roomId);
var inviterId = (queryString2.inviterId === undefined ? '212733' : queryString2.inviterId);
var createInvitePost = function() {
request
.post('https://some_url/v2/invites/212733/create')
.set({'access-token': 'some_access_token'})
.set('Content-Type', 'application/json')
.query({user_id: "229969"})
.query({room_jid: "4"})
.end(function(err, res){
if (err) {
context.fail("Uh oh, something went wrong");
} else {
context.done(null, "Hurray, it worked!!");
}
});
};
try {
createInvitePost();
} catch(errOne) {
alert("No bueno!!");
}
});
};
Любые мысли об этом ?? Спасибо
Да, я видел это как возможность. Что странно, так это то, что я могу запустить завиток или запустить этот URL-адрес в Postman, и он работает нормально. Я ценю обратную связь –
Если ваш curl работает, но вызов от Superagent не делает, интересно, есть ли способ, которым вы можете использовать HTTP-прокси, например Charles, чтобы вы могли получить журнал точно, что происходит через провод и сравнить два. Также может работать Wireshark или даже tcpdump. – kennbrodhagen
Хорошая идея. Спасибо за предложение –