Вызовы API с аксиосами в приложении React, входящем в комплект Electron, возвращают 400 - PullRequest
0 голосов
/ 31 августа 2018

Просто быстрый вопрос:

Я создаю приложение React / Electron, и внутри приложения React у меня есть несколько асинхронных / ожидающих вызовов API. Эти вызовы сделаны с помощью axios и отлично работают в процессе разработки.

Когда приложение упаковано в Electron, запросы возвращаются с ошибкой «400 Headers required». При запуске Dev-версии React он правильно вызывает API.

Есть идеи, почему это происходит?

Я столкнулся с методом WebRequest Electron https://electronjs.org/docs/api/web-request. Похоже, я мог бы перехватывать запросы и менять заголовки, но кажется странным, что это нужно делать.

Спасибо за помощь! ?

1 Ответ

0 голосов
/ 31 августа 2018

Похоже, проблема заключалась в том, что мой прокси-сервер CORS https://cors -anywhere.herokuapp.com / .

Стороннему API, которому я звоню, не включен CORS, и когда я разрабатывал локально в React, мне пришлось использовать прокси-сервер CORS.

При этом, когда я связываю приложение в Electron, вызов https://cors -anywhere.herokuapp.com / возвращает '400 Header required', поскольку именно так прокси обрабатывает вызов, не связанный с CORS , Если он не отвечает так, вы можете использовать его в качестве общего прокси.

Таким образом, удаление URL-адреса CORS из моих ссылок заставило приложение работать внутри Electron. По этой логике я предполагаю, что это означает, что по умолчанию вызовы API рендеринга (поступающие из React) из Electron не затрагиваются CORS.

...