У меня есть внешний API для работы с ним. У меня есть собственная конечная точка в DRF , которая должна отправлять запрос на внешний API и обрабатывать ответ от него, прежде чем я верну его клиентскому приложению. Это пример кода:
serializers.py
api_integration = validated_data["form"].api_integration
data = dict()
for field in validated_data['form_fields']:
data.update(field)
headers = dict()
headers["Authorization"] = api_integration.token
headers["Content-Type"] = api_integration.content_type
try:
response = requests.post(
api_integration.url,
data=data,
headers=headers
)
except requests.exceptions.RequestException:
return Response({"detail": "Something went wrong"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
Когда я использую консоль отладки в PyCharm и устанавливаю точку прерывания на Строка return Response...
также работает, я обрабатываю ошибку 502 из внешнего API и возвращаю свой собственный ответ, но когда этот код выполняется без отладочных точек останова, я получаю 502 BadGateway
из DRF .
Я нахожу только 1 решение - изменить время ожидания в моих настройках nginx, но для меня это не лучшее решение, я хочу обработать эту ошибку времени ожидания только в этой конечной точке.