Метод make_conditional
Метод make_conditional применяется к объекту ответа Flask
и подготавливает его к обработке условных HTTP-запросов.
Первым параметром передаётся объект запроса request,
а вторым - необязательный флаг accept_ranges,
который разрешает обработку диапазонов байт.
После вызова метода ответ получает заголовки ETag
и Last-Modified, а также может вернуть код 304,
если содержимое не изменилось.
Синтаксис
response.make_conditional(request, accept_ranges=False)
Пример
Давайте создадим ответ и применим к нему метод make_conditional:
from flask import Flask, Response, request
app = Flask(__name__)
@app.route('/')
def index():
res = Response('hello')
res.make_conditional(request)
return res
После первого запроса ответ будет содержать заголовки кэширования. Результат выполнения кода:
hello
Пример
Давайте проверим, как метод обрабатывает повторный запрос
с заголовком If-None-Match:
from flask import Flask, Response, request
app = Flask(__name__)
@app.route('/data')
def data():
res = Response('article')
res.make_conditional(request)
return res
Результат выполнения кода при повторном запросе:
304 Not Modified
Смотрите также
-
класс
Response,
который представляет HTTP-ответ -
метод
freeze,
который делает ответ неизменяемым -
метод
calculate_content_length,
который вычисляет длину содержимого -
атрибут
headers,
который хранит заголовки ответа