Событие before_request
Событие before_request применяется к приложению
Bottle и позволяет зарегистрировать функцию,
которая будет вызвана перед обработкой каждого запроса.
Это удобно для проверки авторизации, установки
заголовков, логирования и других подготовительных действий.
Если функция вернёт какое-либо значение, обработка запроса
прекратится, и это значение будет отправлено клиенту.
Синтаксис
@app.before_request
def callback():
pass
Пример
Давайте зарегистрируем функцию, которая выполняется перед каждым запросом и выводит сообщение в консоль:
from bottle import Bottle
app = Bottle()
@app.before_request
def before():
print('before request')
@app.route('/')
def index():
return 'hello'
При обращении к адресу '/' в консоль будет
выведено сообщение, а клиент получит ответ:
hello
Пример
Давайте прервём обработку запроса, вернув значение
из функции before_request:
from bottle import Bottle
app = Bottle()
@app.before_request
def before():
return 'blocked'
@app.route('/')
def index():
return 'hello'
Результат выполнения кода для адреса '/':
blocked
Смотрите также
-
метод
hook,
который регистрирует функцию на событие приложения -
метод
add_hook,
который добавляет функцию-обработчик события -
событие
after_request,
которое выполняется после обработки запроса -
класс
Bottle,
который представляет приложение Bottle