Django ConnectionAbortedError - PullRequest
       3

Django ConnectionAbortedError

0 голосов
/ 16 апреля 2020

Итак, я пытаюсь решить проблему API.

Я делаю запрос к django бэкэнду, используя ax ios из моего приложения веб-интерфейса. Они работают на отдельных доменах. Мое django приложение работает в виртуальной среде.

Если я сделаю запрос с помощью почтальона, я получу ответ без проблем, но если я сделаю запрос с помощью моего внешнего приложения, я получу следующую ошибку.

Traceback (most recent call last):
  File "c:\laragon\bin\python\lib\socketserver.py", line 650, in process_request_thread
    self.finish_request(request, client_address)
  File "c:\laragon\bin\python\lib\socketserver.py", line 360, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "c:\laragon\bin\python\lib\socketserver.py", line 720, in __init__
    self.handle()
  File "C:\Users\Thomas\.virtualenvs\qb_project-vSd1QFH0\lib\site-packages\django\core\servers\basehttp.py", line 174, in handle        
    self.handle_one_request()
  File "C:\Users\Thomas\.virtualenvs\qb_project-vSd1QFH0\lib\site-packages\django\core\servers\basehttp.py", line 182, in handle_one_request
    self.raw_requestline = self.rfile.readline(65537)
  File "c:\laragon\bin\python\lib\socket.py", line 589, in readinto 
    return self._sock.recv_into(b)
ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine

Это топор ios метод

axios.get('http://mybackend/api/oauth')
 .then(response => {
   context.commit('CONNECTION', response)
   console.log(response)
   resolve(response)
  }).catch(error => {
  console.log(error)
  reject(error)
})

и это мой метод для возврата моего ответа

urls.py

urlpatterns = [
    path('api/oauth', oauth, name='oauth')
]

api.py

@api_view(['GET'])
def oauth(request):
    auth_client = AuthClient(
        settings.CLIENT_ID,
        settings.CLIENT_SECRET,
        settings.REDIRECT_URI,
        settings.ENVIRONMENT
    )

    data = auth_client.get_authorization_url([Scopes.ACCOUNTING])
    request.session['state'] = auth_client.state_token
    return Response(data)

По какой-то причине соединение закрывается до отправки ответа. Я попытался удалить логи c в методе oauth, чтобы проверить, не в этом ли моя проблема, но все равно получаю тот же сигнал тревоги. Наряду с расплывчатой ​​тревогой, я в растерянности ...

...