HTTP-перенаправления мешают Twilio отправлять параметры цифр

Я создал приложение Django, которое использует операторы if/else в нескольких представлениях. Операторы else содержат response.redirect("/previous_view"). Если оператор else выполняется, он генерирует HTTP-коды 3XX и заставляет Twilio не включать параметр Digits в тело POST, что приводит к неудаче моих операторов "if". Как мне это исправить?

Twilio является послушным HTTP клиентом, поэтому при получении HTTP 301 или 302 редирект, он будет следовать ему до указанного URL. Однако при последующем запросе исходные параметры не включаются. Иногда вы можете увидеть, что такие параметры, как Digits или RecordingUrl не попадают туда, куда вы ожидаете. В этом случае убедитесь, что URL не возвращает перенаправление.

В качестве примера, когда запрос выполняется к URL действия, параметр Digits включается в POST-запрос. Если URL действия перенаправляется на другой URL, Twilio будет следовать перенаправлению и выдаст GET запрос на указанный URL. Этот GET-запрос будет включать стандартный набор параметров, включенных в каждый запрос Twilio, но но не будет включать дополнительный параметр Digits.

Частыми ситуациями, которые могут вернуть неожиданные перенаправления, являются:

A server that automatically redirects all HTTP requests to HTTPS
A URL rewriting rule that rewrites request URLs to include or exclude www.

https://www.twilio.com/docs/usage/troubleshooting/debugging-your-application#check-for-http-redirects

Вернуться на верх