Удалить заголовки из ответа Flask

Я пытаюсь разработать серверную часть веб-службы для навыка Alexa, и это требует от меня очень конкретных заголовков в ответе HTTP.

Глядя на детали моего ответа (используя hurl.it), у меня есть целая куча заголовков HTTP, которые не нужны Amazon. Как я могу удалить ответы «X-Clacks-Overhead», «Server» и т. д.

Я использую Flask и Python 3.


person user1403142    schedule 01.05.2016    source источник


Ответы (2)


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

person Glenn    schedule 01.05.2016
comment
Гленн: вы абсолютно правы. Моя проблема заключалась в неправильном формате JSON, и я получал вводящее в заблуждение сообщение об ошибке. - person user1403142; 02.05.2016
comment
Ответ на предполагаемый вопрос можно найти здесь: stackoverflow.com/questions/30717152/ - person Thomas Gerot; 28.05.2017

Если ваш заголовок на самом деле устанавливается Flask, вы можете удалить его из списка заголовков в ответе, используя after_request функция/декоратор:

@app.after_request
def remove_header(response):
    del response.headers['X-Some-Custom-Header']

    return response

С подобными Server, скорее всего, это устанавливается вышестоящим провайдером, а не непосредственно Flask, поэтому вам нужно удалить его из того, что проксирует запрос от Flask и выводит пользователю.

person Lee Benson    schedule 15.08.2018