У меня есть следующее приложение для бутылок:
from bottle import Bottle, run, request, response, HTTPResponse
APP1 = Bottle()
@APP1.hook('before_request')
def before_request():
print "APP 1 - Before Request {}".format(request.url)
@APP1.hook('after_request')
def after_request():
print "APP 1 - After Request {}".format(request.url)
print "Response status {}".format(response.status_code)
@APP1.route('/hello')
def hello():
return "Hello World!"
@APP1.route('/error')
def error():
raise HTTPResponse(status=400)
if __name__ == "__main__":
run(APP1, host='127.0.0.1', port=8080)
Когда я нажимаю следующий URL: http://127.0.0.1:8080/error
Я ожидаю, что будет напечатан код ответа 400, но вместо этого он печатает 200.
APP 1 - Before Request http://localhost:8080/error
APP 1 - After Request http://localhost:8080/error
Response status 200
Я знаю, что могу использовать концепцию плагина для реализации рекомендаций, но это означает, что мы не можем использовать after_request
обработчик событий для обработки кодов состояния ошибок. К тому же это кажется нелогичным.
Мои настройки неверны? Или я неправильно понимаю перехват событий after_request
для Bottle?
Пожалуйста посоветуй.
after_request
? (Почему не хватит простого плагина?) - person ron rothman   schedule 12.11.2014