Исключение PreconditionRequired
Исключение PreconditionRequired относится к семейству
HTTP-исключений Flask и соответствует коду ответа
428. Оно применяется, когда сервер требует, чтобы
клиент отправил запрос с обязательным предварительным
условием, например, с заголовком If-Match.
Класс наследуется от HTTPException и принимает
опциональное описание ошибки.
Синтаксис
from flask import PreconditionRequired
raise PreconditionRequired([description])
Пример
Давайте выбросим исключение PreconditionRequired,
если клиент не передал заголовок If-Match:
from flask import Flask, PreconditionRequired, request
app = Flask(__name__)
@app.route('/article')
def article():
if 'If-Match' not in request.headers:
raise PreconditionRequired('If-Match header is required')
return 'article'
Результат выполнения кода для запроса без заголовка
If-Match:
428 Precondition Required
Пример
Давайте обработаем исключение PreconditionRequired
через собственный обработчик ошибок:
from flask import Flask, PreconditionRequired
app = Flask(__name__)
@app.errorhandler(PreconditionRequired)
def handle_precondition_required(error):
return 'precondition required', 428
@app.route('/user')
def user():
raise PreconditionRequired()
Результат выполнения кода:
"precondition required"
Смотрите также
-
исключение
PreconditionFailed,
которое сообщает о невыполненном предварительном условии -
исключение
LengthRequired,
которое требует указать длину тела запроса -
атрибут
code,
который содержит HTTP-код исключения -
атрибут
description,
который хранит описание ошибки