РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
378 of 643 menu

Метод get_response

Метод get_response применяется к экземпляру класса HTTPException и возвращает объект Response, который будет отправлен клиенту. Метод принимает необязательный параметр environ - словарь окружения WSGI, который используется для формирования заголовков ответа. Если параметр не передан, применяется пустой словарь.

Синтаксис

exception.get_response([environ])

Пример

Давайте создадим исключение NotFound и получим его ответ:

from flask import Flask from werkzeug.exceptions import NotFound app = Flask(__name__) exc = NotFound() res = exc.get_response() print(type(res)) print(res.status_code) print(res.get_data(as_text=True))

Результат выполнения кода:

<class 'werkzeug.wrappers.response.Response'> 404 "<!doctype html>\n<html lang=en>\n<title>404 Not Found</title>\n<h1>Not Found</h1>\n<p>The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.</p>\n"

Пример

Давайте передадим словарь environ и посмотрим, как это повлияет на заголовки ответа:

from flask import Flask from werkzeug.exceptions import BadRequest app = Flask(__name__) environ = { 'REQUEST_METHOD': 'GET', 'SERVER_NAME': 'localhost', 'SERVER_PORT': '5000', } exc = BadRequest() res = exc.get_response(environ) print(res.status_code) print(res.headers.get('Content-Type'))

Результат выполнения кода:

400 "text/html; charset=utf-8"

Пример

Давайте используем метод get_response внутри обработчика ошибки для возврата стандартного ответа:

from flask import Flask from werkzeug.exceptions import Forbidden app = Flask(__name__) @app.route('/admin') def admin(): raise Forbidden() @app.errorhandler(Forbidden) def handle_forbidden(error): res = error.get_response() res.headers['X-Custom-Header'] = 'abcde' return res

Результат выполнения кода для адреса /admin:

403 Forbidden

Заголовок X-Custom-Header будет содержать значение 'abcde'.

Смотрите также

  • класс HTTPException,
    который является базовым для всех исключений Flask
  • метод get_body,
    который возвращает тело ответа исключения
  • метод get_headers,
    который возвращает заголовки ответа исключения
  • метод get_description,
    который возвращает описание исключения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить