Метод get_headers
Метод get_headers применяется к объекту исключения,
унаследованному от класса HTTPException. Он возвращает
список кортежей, где каждый кортеж содержит имя заголовка
и его значение. Эти заголовки автоматически добавляются
к HTTP-ответу при обработке исключения Flask.
По умолчанию метод возвращает заголовки, заданные в атрибуте
headers исключения. Если при создании исключения
заголовки не передавались, возвращается пустой список.
Метод не принимает параметров.
Синтаксис
exception.get_headers()
Пример
Давайте создадим исключение BadRequest с собственными
заголовками и посмотрим, что вернёт метод get_headers:
from flask import Flask
from werkzeug.exceptions import BadRequest
app = Flask(__name__)
exc = BadRequest(headers={'X-Custom': 'abcde'})
res = exc.get_headers()
print(res)
Результат выполнения кода:
[('X-Custom', 'abcde')]
Пример
Давайте создадим исключение NotFound без заголовков
и проверим, что вернёт метод:
from flask import Flask
from werkzeug.exceptions import NotFound
app = Flask(__name__)
exc = NotFound()
res = exc.get_headers()
print(res)
Результат выполнения кода:
[]
Пример
Давайте обработаем исключение внутри маршрута и выведем его заголовки через функцию-обработчик ошибки:
from flask import Flask
from werkzeug.exceptions import Unauthorized
app = Flask(__name__)
@app.route('/')
def index():
raise Unauthorized(headers={'WWW-Authenticate': 'Basic'})
@app.errorhandler(Unauthorized)
def handle_unauthorized(e):
res = e.get_headers()
return str(res), e.code
Результат выполнения кода для адреса /:
[('WWW-Authenticate', 'Basic')]
Смотрите также
-
класс
HTTPException,
который является базовым для всех HTTP-исключений Flask -
метод
get_response,
который возвращает объект ответа для исключения -
метод
get_body,
который возвращает тело ответа с описанием ошибки -
метод
get_description,
который возвращает текстовое описание ошибки