Исключение LengthRequired
Исключение LengthRequired относится к классу HTTP-исключений Flask
и соответствует статус-коду 411. Оно возникает в ситуации, когда
сервер отказывается принимать запрос без заголовка Content-Length.
Чаще всего это происходит при обработке POST-запросов, где тело запроса
должно иметь явно указанный размер, но клиент его не передал.
Исключение можно вызвать вручную с помощью abort или возбудить
напрямую, передав описание ошибки.
Синтаксис
from flask import abort
abort(411)
from werkzeug.exceptions import LengthRequired
raise LengthRequired(description='...')
Пример
Давайте вызовем исключение LengthRequired через abort,
если клиент не передал заголовок Content-Length:
from flask import Flask, request, abort
app = Flask(__name__)
@app.route('/upload', methods=['POST'])
def upload():
if 'Content-Length' not in request.headers:
abort(411)
return 'uploaded'
Результат выполнения запроса без заголовка Content-Length:
411 Length Required
Пример
Давайте возбудим исключение LengthRequired напрямую и передадим
своё описание ошибки:
from flask import Flask
from werkzeug.exceptions import LengthRequired
app = Flask(__name__)
@app.route('/data')
def data():
raise LengthRequired(description='Content-Length header is missing')
Результат выполнения кода:
411 Length Required: Content-Length header is missing
Смотрите также
-
класс
HTTPException,
который является базовым для всех HTTP-исключений Flask -
исключение
BadRequest,
которое сообщает об ошибке 400 -
исключение
RequestEntityTooLarge,
которое сообщает об ошибке 413 -
атрибут
code,
который хранит статус-код исключения