Конфигурация прокси Ax ios вызывает неправильный запрос - PullRequest
0 голосов
/ 07 марта 2020

Я пытаюсь отправить запрос в облако частиц из приложения NodeJS. Я использую Ax ios, чтобы сделать запрос PUT. Приложение отправляет запрос через прокси-сервер, который также настроен.

// axios proxy - not working
axios.default.put("https://api.particle.io/v1/devices/<deviceId>/ping", {}, {
proxy: {host: <proxy_ip>, protocol:'http', port:<port_no>},
headers: {
    authorization: "Bearer <access_token>"
}
}).then((response) => {
    console.log("Success", response.data);
}).catch((error) => {
   console.log("Failed", error);
});

Сообщение об ошибке: Запрос не выполнен с кодом состояния 400

Когда я отправляю этот запрос Я получаю ответ 400 Bad Request от облака частиц. Но когда я отправляю тот же запрос, используя модуль запроса NodeJS, запрос выполняется успешно.

var options = {
   method: 'PUT',
   url: 'https://api.particle.io/v1/devices/<device_id>/ping',
   proxy: {hostname: <proxy_ip>, protocol:'http', port:<port_no>},
   headers: 
   { 
       authorization: 'Bearer <access_token>'
   },
   form: false
};
request(options, function (error, response, body) {
   if (error) throw new Error(error);
   console.log(response);
});

Ответ: body: '{"online": false, "ok": true } '

Запрос также работает, когда приложение было развернуто в открытой сети, а ax ios использовался без конфигурации прокси.

// axios without proxy - working
axios.default.put("https://api.particle.io/v1/devices/<deviceId>/ping", {}, {
    headers: {
        authorization: "Bearer <access_token>"
    }
}).then((response) => {
    console.log("Success", response.data);
}).catch((error) => {
    console.log("Failed", error);
});

Вопросы:

  1. Почему запрос от Ax ios не выполняется с настройкой прокси?
  2. Это присущая Ax ios?

Regards.

...