Исключение RequestURITooLarge
Исключение RequestURITooLarge относится к семейству HTTP-исключений
Flask и вызывается, когда длина запрошенного URI превышает
допустимый сервером предел. Класс наследуется от HTTPException
и по умолчанию имеет код 414 и описание
"The requested URL is too large for the server to process.".
Исключение можно поднять вручную из обработчика, чтобы прервать
обработку запроса и вернуть корректный ответ клиенту.
Синтаксис
from werkzeug.exceptions import RequestURITooLarge
raise RequestURITooLarge(description=None, response=None)
Пример
Давайте поднимем исключение RequestURITooLarge внутри
обработчика, если путь запроса оказался слишком длинным:
from flask import Flask
from werkzeug.exceptions import RequestURITooLarge
app = Flask(__name__)
@app.route('/<path:subpath>')
def index(subpath):
if len(subpath) > 100:
raise RequestURITooLarge()
return 'hello'
Результат выполнения кода для короткого пути:
"hello"
Пример
Давайте перехватим исключение RequestURITooLarge
и вернём клиенту собственное сообщение:
from flask import Flask
from werkzeug.exceptions import RequestURITooLarge
app = Flask(__name__)
@app.errorhandler(RequestURITooLarge)
def handle_uri_too_large(error):
return 'URI is too long', 414
@app.route('/<path:subpath>')
def index(subpath):
if len(subpath) > 100:
raise RequestURITooLarge()
return 'hello'
Результат выполнения кода для длинного пути:
URI is too long
Смотрите также
-
класс
HTTPException,
от которого наследуются все HTTP-исключения Flask -
атрибут
code,
который хранит HTTP-статус исключения -
атрибут
description,
который содержит текстовое описание ошибки -
исключение
RequestEntityTooLarge,
которое сигнализирует о слишком большом теле запроса