Класс HTTPResponse
Класс HTTPResponse представляет собой HTTP-ответ,
который формируется при обработке запроса. Объект этого
класса хранит код статуса, строку статуса, заголовки,
тело ответа и дополнительные служебные атрибуты.
Класс применяется внутри приложения Bottle, когда
нужно явно управлять ответом сервера: изменять
заголовки, код статуса, тело или копировать ответ.
В отличие от глобального объекта response,
который доступен как переменная модуля, класс
HTTPResponse позволяет создавать собственные
объекты ответа. Первым параметром передаётся тело
ответа, вторым - код статуса, третьим - заголовки.
Синтаксис
HTTPResponse(body='', status=None, headers=None)
Атрибуты
Объект класса HTTPResponse содержит следующие
основные атрибуты:
response.status # строка статуса, например '200 OK'
response.status_code # числовой код статуса, например 200
response.status_line # полная строка статуса
response.headers # объект с заголовками ответа
response.body # тело ответа
response.content_type # MIME-тип содержимого
response.content_length # длина тела ответа
response.charset # кодировка ответа
response.expires # время истечения кэша
response.headerlist # список заголовков
Пример
Давайте создадим объект ответа и выведем его статус:
from bottle import Bottle, HTTPResponse
app = Bottle()
@app.route('/')
def index():
res = HTTPResponse('hello', 200)
return res.status_line
Результат выполнения кода:
"200 OK"
Пример
Давайте создадим ответ с телом и заголовком:
from bottle import Bottle, HTTPResponse
app = Bottle()
@app.route('/')
def index():
res = HTTPResponse('abcde', 201, {'X-Custom': 'value'})
res.set_header('Content-Type', 'text/plain')
return res
Результат выполнения кода:
abcde
Пример
Давайте изменим код статуса и тело ответа:
from bottle import Bottle, HTTPResponse
app = Bottle()
@app.route('/')
def index():
res = HTTPResponse()
res.status_code = 404
res.body = 'article'
return res.body
Результат выполнения кода:
"article"
Смотрите также
-
класс
Response,
который представляет объект ответа приложения -
метод
set_header,
который устанавливает заголовок ответа -
атрибут
status_code,
который хранит числовой код статуса -
атрибут
body,
который хранит тело ответа