Метод copy
Метод copy применяется к объекту ответа Response и создает его глубокую копию. Он не принимает параметров и возвращает новый экземпляр класса Response. Это бывает полезно, когда нужно сохранить исходный ответ, чтобы впоследствии его модифицировать или использовать повторно, не затрагивая оригинальный объект.
Синтаксис
res.copy()
Пример
Давайте создадим ответ, скопируем его и убедимся, что объекты независимы:
from bottle import Bottle, response
app = Bottle()
@app.route('/')
def index():
response.content_type = 'text/plain'
response.set_header('X-Custom', 'value')
res = response.copy()
response.set_header('X-Custom', 'changed')
return f"Original: {response.get_header('X-Custom')}, Copy: {res.get_header('X-Custom')}"
Результат выполнения кода:
Original: changed, Copy: value
Пример
Давайте скопируем ответ и изменим его тело, не затрагивая оригинал:
from bottle import Bottle, response
app = Bottle()
@app.route('/')
def index():
response.body = 'hello'
res = response.copy()
res.body = 'abcde'
return f"Original: {response.body}, Copy: {res.body}"
Результат выполнения кода:
Original: hello, Copy: abcde
Смотрите также
-
класс
Response,
который представляет HTTP-ответ -
метод
set_header,
который устанавливает заголовок ответа -
метод
get_header,
который возвращает значение заголовка -
атрибут
body,
который содержит тело ответа