Запрос и ответ
Экземпляры классов Request и Response передаются в обработчики в качестве второго и третьего аргументов соответственно.
import falcon
class Resource(object):
def on_get(self, req, resp):
resp.body = '{"message": "Hello world!"}'
resp.status = falcon.HTTP_200
Запрос
-
class falcon.Request(env, options=None)[source]
-
Представляет HTTP-запрос клиента.
Примечание
Requestне предназначен для непосредственного создания отвечающими.Параметры: env (dict) – Словарь WSGI-среды, переданный сервером. См. также PEP-3333. Ключевые аргументы: options (dict) – Набор глобальных опций, переданных обработчиком API. -
env -
Ссылка на WSGI-среду
dict, переданную сервером. (См. также PEP-3333.)Тип: dict
-
context -
Пустой объект для хранения любых данных (в его атрибутах) о запросе, специфичных для вашего приложения (например, объект сессии). Сам Falcon не будет взаимодействовать с этим атрибутом после его инициализации.
Примечание
Новое в версии 2.0: значение по умолчанию
context_type(см. ниже) было изменено с dict на базовый класс, и предпочтительный способ передачи данных, специфичных для запроса, теперь — установка атрибутов непосредственно на объектcontext, например:req.context.role = 'trial' req.context.user = 'guest'
Тип: object
-
context_type -
Переменная класса, которая определяет фабрику или тип, используемый для инициализации атрибута
context. По умолчанию фреймворк будет создавать простые объекты (экземпляры базового классаfalcon.Context). Однако вы можете изменить это поведение, создав пользовательский дочерний классfalcon.Request, а затем передав этот новый класс вfalcon.API()через параметрrequest_type.Примечание
При переопределении
context_typeс помощью функции-фабрики (в отличие от класса) функция вызывается как метод текущего экземпляра Request. Поэтому первым аргументом является сам экземпляр Request (self).Тип: class
-
scheme -
Схема URL, используемая для запроса. Либо ‘http’, либо ‘https’.
Примечание
Если запрос был проксирован, схема может не соответствовать первоначальному запросу клиента. Вместо этого можно использовать
forwarded_schemeдля обработки таких случаев.Тип: str
-
forwarded_scheme -
Оригинальная схема URL, запрошенная пользовательским агентом, если запрос был проксирован. Типичные значения — ‘http’ или ‘https’.
Для определения переданной схемы проверяются следующие заголовки запроса в порядке приоритета:
ForwardedX-Forwarded-For
Если ни один из этих заголовков не доступен или если заголовок Forwarded доступен, но не содержит параметра «proto» в первом узле, возвращается значение
scheme.(См. также: RFC 7239, Раздел 1)
Тип: str
-
method -
Запрошенный HTTP-метод (например, ‘GET’, ‘POST’ и т. д.)
Тип: str
-
host -
Поле заголовка запроса Host
Тип: str
-
forwarded_host -
Оригинальное поле заголовка запроса Host, полученное первым прокси перед сервером приложения.
Для определения переданного хоста проверяются следующие заголовки запроса в порядке приоритета:
ForwardedX-Forwarded-Host
Если ни один из вышеуказанных заголовков недоступен или если заголовок Forwarded доступен, но параметр «host» не включен в первый узле, возвращается значение
host.Примечание
Прокси-серверы часто настраиваются так, чтобы напрямую устанавливать заголовок Host в тот, который изначально запросил пользовательский агент; в этом случае достаточно использовать
host.(См. также: RFC 7239, Раздел 4)
Тип: str
-
port -
Порт, используемый для запроса. Если в URI запроса не указан порт, возвращается значение по умолчанию для данной схемы (80 для HTTP и 443 для HTTPS).
Тип: int
-
netloc -
Возвращает часть URL запроса ‘host:port’. Порт может быть опущен, если он является значением по умолчанию для схемы URL (80 для HTTP и 443 для HTTPS).
Тип: str
-
subdomain -
Самый левый (т. е. наиболее специфичный) домен из имени хоста. Если указано только одно доменное имя,
subdomainбудетNone.Примечание
Если имя хоста в запросе — IP-адрес, значение для
subdomainне определено.Тип: str
-
app -
Начальная часть пути URI запроса, соответствующая объекту приложения, чтобы приложение знало своё виртуальное «местоположение». Это может быть пустая строка, если приложение соответствует «корню» сервера.
(Соответствует переменной среды «SCRIPT_NAME», определенной PEP-3333.)
Тип: str
-
uri -
Полностью квалифицированный URI для запроса.
Тип: str
-
url -
Псевдоним для
uri.Тип: str
-
-
forwarded_uri -
Исходный URI для запросов с проксированием. Использует
forwarded_schemeиforwarded_hostдля восстановления исходного URI, запрошенного агентом пользователя.Тип: str
-
relative_uri -
Часть URI запроса, содержащая путь и строку запроса, без схемы и хоста.
Тип: str
-
prefix -
Префикс URI запроса, включающий схему, хост и WSGI-приложение (если есть).
Тип: str
-
forwarded_prefix -
Префикс исходного URI для запросов с проксированием. Использует
forwarded_schemeиforwarded_hostдля восстановления исходного URI.Тип: str
-
path -
Часть пути URI запроса (без строки запроса).
Примечание
req.pathможет быть изменено методомprocess_request()промежуточного ПО для влияния на маршрутизацию. Если исходный путь запроса был закодирован в URL, он будет декодирован перед возвратом этого атрибута. Если это атрибут используется приложением для любых запросов вверх по потоку, любые символы, не являющиеся безопасными в URL, в пути должны быть закодированы в URL обратно перед выполнением запроса.Тип: str
-
query_string -
Часть строки запроса URI, без предшествующего символа ‘?’.
Тип: str
-
uri_template -
Шаблон маршрута, который был сопоставлен для этого запроса. Может быть
Noneесли запрос еще не был маршрутизирован, как это бывает для методовprocess_request()промежуточного ПО. Также может бытьNoneесли ваше приложение использует пользовательский механизм маршрутизации и механизм не предоставляет шаблон URI при разрешении маршрута.Тип: str
-
remote_addr -
IP-адрес ближайшего клиента или прокси к WSGI-серверу.
Это свойство определяется значением
REMOTE_ADDRв словаре WSGI-окружения. Так как этот адрес не получен из HTTP-заголовка, клиенты и прокси не могут его подделать.Примечание
Если ваше приложение находится за одним или несколькими обратными прокси-серверами, вы можете использовать
access_routeдля получения реального IP-адреса клиента.Тип: str
-
access_route -
IP-адрес исходного клиента, а также любые известные адреса прокси-серверов, стоящих перед WSGI-сервером.
Проверяются следующие заголовки запроса в порядке предпочтения:
ForwardedX-Forwarded-ForX-Real-IP
Если ни один из этих заголовков недоступен, используется значение
remote_addr.Примечание
Согласно RFC 7239, маршрут доступа может содержать «неизвестные» и замаскированные идентификаторы, помимо IPv4 и IPv6-адресов
Предупреждение
Заголовки могут быть подделаны любым клиентом или прокси. Используйте это свойство с осторожностью и проверьте все значения перед использованием. Не полагайтесь на маршрут доступа для авторизации запросов.
Тип: list
-
forwarded -
Значение заголовка Forwarded, как обработанный список объектов
falcon.Forwarded, илиNoneесли заголовок отсутствует. Если значение заголовка некорректно, Falcon сделает все возможное для его обработки.(См. также: RFC 7239, Раздел 4)
Тип: list
-
date -
Значение заголовка Date, преобразованное в экземпляр
datetime. Предполагается, что значение заголовка соответствует RFC 1123.Тип: datetime
-
auth -
Значение заголовка Authorization, или
Noneесли заголовок отсутствует.Тип: str
-
user_agent -
Значение заголовка User-Agent, или
Noneесли заголовок отсутствует.Тип: str
-
referer -
Значение заголовка Referer, или
Noneесли заголовок отсутствует.Тип: str
-
accept -
Значение заголовка Accept, или ‘*/*’ если заголовок отсутствует.
Тип: str
-
client_accepts_json -
Trueесли заголовок Accept указывает, что клиент готов принять JSON, в противном случаеFalse.Тип: bool
-
-
client_accepts_msgpack -
Trueесли заголовок Accept указывает, что клиент готов принять MessagePack, в противном случаеFalse.Тип: bool
-
client_accepts_xml -
Trueесли заголовок Accept указывает, что клиент готов принять XML, в противном случаеFalse.Тип: bool
-
Словарь пар имя/значение cookie. Возвращаемый объект следует рассматривать как только для чтения, чтобы избежать непреднамеренных побочных эффектов. Если cookie появляется в запросе более одного раза, доступно будет только первое встреченное значение.
См. также:
get_cookie_values()Тип: dict
-
content_type -
Значение заголовка Content-Type или
Noneесли заголовок отсутствует.Тип: str
-
content_length -
Значение заголовка Content-Length, преобразованное в
int, илиNoneесли заголовок отсутствует.Тип: int
-
stream -
Объект входного потока типа «файл» для чтения тела запроса, если таковое имеется. Этот объект предоставляет прямой доступ к потоку данных сервера и не допускает поиска (seek). Чтобы избежать непреднамеренных побочных эффектов и предоставить максимальную гибкость приложению, Falcon сам по себе не буферизует и не буферизует данные никоим образом.
Поскольку этот объект предоставляется самим сервером WSGI, а не Falcon, его поведение может отличаться в зависимости от того, как вы размещаете приложение. Например, попытка прочитать больше байтов, чем ожидается (как определяется заголовком Content-Length), может или не может блокироваться неопределённое время. Рекомендуется протестировать свой сервер WSGI, чтобы узнать, как он себя ведёт.
Это может быть особенно проблематично, когда ожидается тело запроса, но его нет. В этом случае вызов блокируется на некоторых серверах WSGI:
# Blocks if Content-Length is 0 data = req.stream.read()
Решение довольно простое, хотя и подробное:
# If Content-Length happens to be 0, or the header is # missing altogether, this will not block. data = req.stream.read(req.content_length or 0)
В качестве альтернативы, при непосредственном передаче потока потребителю, может потребоваться ветвление значения заголовка Content-Length:
if req.content_length: doc = json.load(req.stream)Для небольших затрат на производительность вы можете вместо этого использовать
bounded_stream, который оборачивает родной объект входных данных WSGI, чтобы нормализовать его поведение.Примечание
Если HTML-форма отправляется на API по методу POST с типом носителя application/x-www-form-urlencoded, и опция
auto_parse_form_urlencodedустановлена, фреймворк прочитаетstreamдля разбора параметров и объединения их в параметры строки запроса. В этом случае поток будет находиться в конце файла (EOF).
-
bounded_stream -
Обёртка типа «файл» над
streamдля нормализации определённых различий между родными объектами ввода, используемыми различными серверами WSGI. В частности,bounded_streamучитывает ожидаемую длину тела в байтах и никогда не будет блокироваться при чтении за пределами допустимых значений, предполагая, что клиент не приостанавливает передачу данных на сервер.Например, следующее не будет блокироваться, если Content-Length равен 0 или заголовок отсутствует:
data = req.bounded_stream.read()
Это тоже безопасно:
doc = json.load(req.bounded_stream)
-
expect -
Значение заголовка Expect, или
Noneесли заголовок отсутствует.Тип: str
-
media -
Возвращает десериализованную форму потока запроса. При вызове он попытается десериализовать поток запроса, используя заголовок Content-Type и обработчики типов носителей, настроенные с помощью
falcon.RequestOptions.См. Носители для получения дополнительной информации об обработке носителей.
Предупреждение
Эта операция прочитает поток запроса при первом вызове и кэширует результаты. Последующие вызовы просто получат кэшированную версию объекта.
Тип: object
-
range -
Двухэлементный
tuple, полученный из значения заголовка Range.Два элемента соответствуют позициям первого и последнего байта запрашиваемого ресурса, включительно. Отрицательные индексы указывают смещение от конца ресурса, где -1 — последний байт, -2 — предпоследний байт и так далее.
Поддерживаются только непрерывные диапазоны (например, «bytes=0-0,-1» приведёт к исключению HTTPBadRequest при обращении к атрибуту).
Тип: кортеж int
-
range_unit -
Единица диапазона, полученная из значения заголовка Range, или
Noneесли заголовок отсутствует.Тип: str
-
if_match -
Значение заголовка If-Match, в виде обработанного списка объектов
falcon.ETag, илиNoneесли заголовок отсутствует или его значение пустое.Этот атрибут предоставляет список всех
entity-tagsв заголовке, как сильных, так и слабых, в том же порядке, что и в заголовке.(См. также: RFC 7232, Раздел 3.1)
Тип: список
-
if_none_match -
Значение заголовка If-None-Match, в виде обработанного списка объектов
falcon.ETag, илиNoneесли заголовок отсутствует или его значение пустое.Этот атрибут предоставляет список всех
entity-tagsв заголовке, как сильных, так и слабых, в том же порядке, что и в заголовке.(См. также: RFC 7232, Раздел 3.2)
Тип: список
-
if_modified_since -
Значение заголовка If-Modified-Since, или
Noneесли заголовок отсутствует.Тип: datetime
-
if_unmodified_since -
Значение заголовка If-Unmodified-Since, или
Noneесли заголовок отсутствует.Тип: datetime
-
-
if_range -
Значение заголовка If-Range, или
Noneесли заголовок отсутствует.Тип: str
-
headers -
Необработанные HTTP-заголовки из запроса с каноническими именами через дефис. Разбор всех заголовков для создания этого словаря выполняется при первом обращении к этому атрибуту, и возвращаемый объект должен рассматриваться как только для чтения. Обратите внимание, что этот разбор может быть дорогостоящим, поэтому, если вам не нужны все заголовки в этом формате, используйте метод
get_header()или один из удобных атрибутов, чтобы получить значение для определенного заголовка.Тип: dict
-
params -
Сопоставление имён параметров запроса с их значениями. Если параметр появляется несколько раз в строке запроса, значение, сопоставленное с ключом параметра, будет списком всех значений в порядке их появления.
Тип: dict
-
options -
Набор глобальных опций, переданных обработчиком API.
Тип: dict
-
client_accepts(media_type)[source] -
Определить, принимает ли клиент заданный тип медиа.
Параметры: media_type (str) – Проверяемый тип интернет-медиа. Возвращает: Trueесли клиент указал в заголовке Accept, что принимает указанный тип медиа. В противном случае возвращаетFalse.Тип возвращаемого значения: bool
-
client_prefers(media_types)[source] -
Возвратить предпочтительный тип медиа клиента из нескольких вариантов.
Параметры: media_types (iterable of str) – Один или несколько типов интернет-медиа, из которых нужно выбрать предпочтительный тип клиента. Это значение должно быть итерируемым набором строк. Возвращает: Предпочтительный тип медиа клиента, основанный на заголовке Accept. Возвращает Noneесли клиент не принимает ни одного из заданных типов.Тип возвращаемого значения: str
-
context_type -
псевдоним
falcon.util.structures.Context
-
Возвращает все значения, указанные в заголовке Cookie для указанного cookie.
(См. также: Получение файлов cookie)
Параметры: name (str) – Имя cookie, регистрозависимое. Возвращает: Отсортированный список всех значений, указанных в заголовке Cookie для указанного cookie, или Noneесли cookie не был включён в запрос. Если cookie указан более одного раза в заголовке, возвращаемый список значений сохранит порядок отдельныхcookie-pairв заголовке.Тип возвращаемого значения: list
-
get_header(name, required=False, default=None)[source] -
Получить строковое значение заданного заголовка.
Параметры: name (str) – Имя заголовка, регистронезависимое (например, ‘Content-Type’)
Ключевые аргументы: Возвращает: Значение указанного заголовка, если он существует, или значение по умолчанию, если заголовок не найден и не требуется.
Тип возвращаемого значения: Возбуждает: HTTPBadRequest– Заголовок не был найден в запросе, но был необходим.
-
get_header_as_datetime(header, required=False, obs_date=False)[source] -
Возвратить HTTP заголовок с HTTP-датами как datetime.
Параметры: name (str) – Имя заголовка, регистронезависимое (например, ‘Date’)
Ключевые аргументы: Возвращает: Значение указанного заголовка, если он существует, или
Noneесли заголовок не найден и не требуется.Тип возвращаемого значения: datetime
Возбуждает: -
HTTPBadRequest– Заголовок не был найден в запросе, но был необходим. -
HttpInvalidHeader– Заголовок содержал неверно сформированное/неверное значение.
-
-
-
get_param(name, required=False, store=None, default=None)[source] -
Возвращает необработанное значение параметра строки запроса в виде строки.
Примечание
Если HTML-форма отправляется в API с помощью медиа типа application/x-www-form-urlencoded, Falcon может автоматически разобрать параметры из тела запроса и объединить их с параметрами строки запроса. Чтобы включить эту функциональность, установите
auto_parse_form_urlencodedвTrueчерезAPI.req_options.Примечание
Аналогично тому, как обрабатываются несколько ключей в данных формы, если параметру строки запроса присвоено значение в виде списка значений, разделенных запятыми (например,
foo=a,b,c), будет возвращено только одно из этих значений, и неизвестно, какое именно. Используйтеget_param_as_list()для получения всех значений.Параметры: name (str) – Имя параметра, чувствительное к регистру (например, ‘sort’).
Ключевые аргументы: -
required (bool) – Установите в
Trueдля поднятияHTTPBadRequestвместо возвратаNoneпри отсутствии параметра (по умолчаниюFalse). -
store (dict) – Объект типа
dict, в который помещается значение параметра, только если параметр присутствует. -
default (any) – Если параметр не найден, возвращает заданное значение вместо
None
Возвращает: Значение параметра в виде строки или
Noneесли параметр не найден и не является обязательным.Тип возвращаемого значения: Возбуждает: HTTPBadRequest– Обязательный параметр отсутствует в запросе. -
required (bool) – Установите в
-
get_param_as_bool(name, required=False, store=None, blank_as_true=True, default=None)[source] -
Возвращает значение параметра строки запроса в виде булевого значения.
Этот метод рассматривает параметры без значений как флаги. По умолчанию, если для параметра в строке запроса не указано значение, считается и возвращается
True. Если параметр отсутствует вообще, возвращаетсяNone, как и в других методахget_param_*(), которые легко обрабатываются вызывающей стороной как ложные, по мере необходимости.Поддерживаются следующие строковые значения для булевых переменных:
TRUE_STRINGS = ('true', 'True', 'yes', '1', 'on') FALSE_STRINGS = ('false', 'False', 'no', '0', 'off')Параметры: name (str) – Имя параметра, чувствительное к регистру (например, ‘detailed’).
Ключевые аргументы: -
required (bool) – Установите в
Trueдля поднятияHTTPBadRequestвместо возвратаNoneпри отсутствии параметра или если параметр не является распознаваемой булевой строкой (по умолчаниюFalse). -
store (dict) – Объект типа
dict, в который помещается значение параметра, только если параметр найден (по умолчаниюNone). -
blank_as_true (bool) – Параметры строки запроса без значений обрабатываются как флаги, что приводит к возврату
Trueпри наличии такого параметра иFalseв противном случае. Чтобы потребовать от клиента явно указать истинное значение, передайтеblank_as_true=Falseдля возвратаFalseпри отсутствии значения в строке запроса. -
default (any) – Если параметр не найден, возвращает это значение вместо
None.
Возвращает: Значение параметра, если он найден и может быть преобразован в
bool. Если параметр не найден, возвращаетNone, еслиrequiredне равноTrue.Тип возвращаемого значения: Возбуждает: HTTPBadRequest– Обязательный параметр отсутствует в запросе или не может быть преобразован вbool. -
required (bool) – Установите в
-
get_param_as_date(name, format_string='%Y-%m-%d', required=False, store=None, default=None)[source] -
Возвращает значение параметра строки запроса в виде даты.
Параметры: name (str) – Имя параметра, чувствительное к регистру (например, ‘ids’).
Ключевые аргументы: -
format_string (str) – Строка, используемая для разбора значения параметра в дату. Поддерживаются любые форматы, распознаваемые функцией strptime() (по умолчанию
"%Y-%m-%d"). -
required (bool) – Установите в
Trueдля поднятияHTTPBadRequestвместо возвратаNoneпри отсутствии параметра (по умолчаниюFalse). -
store (dict) – Объект типа
dict, в который помещается значение параметра, только если параметр найден (по умолчаниюNone). -
default (any) – Если параметр не найден, возвращает заданное значение вместо
None
Возвращает: Значение параметра, если он найден и может быть преобразован в
dateв соответствии с заданной строкой формата. Если параметр не найден, возвращаетNone, если required равноTrue.Тип возвращаемого значения: Возбуждает: HTTPBadRequest– Обязательный параметр отсутствует в запросе или значение не может быть преобразовано вdate. -
format_string (str) – Строка, используемая для разбора значения параметра в дату. Поддерживаются любые форматы, распознаваемые функцией strptime() (по умолчанию
-
-
get_param_as_datetime(name, format_string='%Y-%m-%dT%H:%M:%SZ', required=False, store=None, default=None)[source] -
Возвращает значение параметра строки запроса в формате даты и времени.
Параметры: name (str) – Имя параметра, чувствительное к регистру (например, ‘ids’).
Ключевые аргументы: -
format_string (str) – Строка, используемая для разбора значения параметра в
datetime. Поддерживаются любые форматы, распознаваемые функцией strptime() (по умолчанию'%Y-%m-%dT%H:%M:%SZ'). -
required (bool) – Устанавливается в
Trueдля поднятияHTTPBadRequestвместо возвращенияNone, если параметр не найден (по умолчаниюFalse). -
store (dict) – Объект типа
dict, в котором будет помещено значение параметра, только если параметр найден (по умолчаниюNone). -
default (any) – Если параметр не найден, возвращает указанное значение вместо
None
Возвращает: Значение параметра, если он найден и может быть преобразован в
datetimeв соответствии с указанной строкой формата. Если параметр не найден, возвращаетNone, если только required неTrue.Тип возвращаемого значения: Возбуждает исключения: HTTPBadRequest– Требуемый параметр отсутствует в запросе или его значение нельзя преобразовать вdatetime. -
format_string (str) – Строка, используемая для разбора значения параметра в
-
get_param_as_float(name, required=False, min_value=None, max_value=None, store=None, default=None)[source] -
Возвращает значение параметра строки запроса как число с плавающей точкой.
Параметры: name (str) – Имя параметра, чувствительное к регистру (например, ‘limit’).
Ключевые аргументы: -
required (bool) – Устанавливается в
Trueдля поднятияHTTPBadRequestвместо возвращенияNone, если параметр не найден или не является числом с плавающей точкой (по умолчаниюFalse). -
min_value (float) – Устанавливается в минимальное значение, разрешенное для данного параметра. Если параметр найден и его значение меньше min_value, поднимается исключение
HTTPError. -
max_value (float) – Устанавливается в максимальное значение, разрешенное для данного параметра. Если параметр найден и его значение больше max_value, поднимается исключение
HTTPError. -
store (dict) – Объект типа
dict, в котором будет помещено значение параметра, только если параметр найден (по умолчаниюNone). -
default (any) – Если параметр не найден, возвращает указанное значение вместо
None
Возвращает: Значение параметра, если он найден и может быть преобразован в
float. Если параметр не найден, возвращаетNone, если толькоrequiredнеTrue.Тип возвращаемого значения: - Возбуждает исключения
-
- HTTPBadRequest: Параметр не был найден в запросе, даже если
- он был обязательным, или он был найден, но не может быть преобразован в
float. Также возбуждается, если значение параметра выходит за заданный интервал, т. е., значение должно быть в интервале: min_value <= value <= max_value, чтобы избежать ошибки.
-
required (bool) – Устанавливается в
-
get_param_as_int(name, required=False, min_value=None, max_value=None, store=None, default=None)[source] -
Возвращает значение параметра строки запроса как целое число.
Параметры: name (str) – Имя параметра, чувствительное к регистру (например, ‘limit’).
Ключевые аргументы: -
required (bool) – Устанавливается в
Trueдля поднятияHTTPBadRequestвместо возвращенияNone, если параметр не найден или не является целым числом (по умолчаниюFalse). -
min_value (int) – Устанавливается в минимальное значение, разрешенное для данного параметра. Если параметр найден и его значение меньше min_value, поднимается исключение
HTTPError. -
max_value (int) – Устанавливается в максимальное значение, разрешенное для данного параметра. Если параметр найден и его значение больше max_value, поднимается исключение
HTTPError. -
store (dict) – Объект типа
dict, в котором будет помещено значение параметра, только если параметр найден (по умолчаниюNone). -
default (any) – Если параметр не найден, возвращает указанное значение вместо
None
Возвращает: Значение параметра, если он найден и может быть преобразован в
int. Если параметр не найден, возвращаетNone, если толькоrequiredнеTrue.Тип возвращаемого значения: - Возбуждает исключения
-
- HTTPBadRequest: Параметр не был найден в запросе, даже если
- он был обязательным, или он был найден, но не может быть преобразован в
int. Также возбуждается, если значение параметра выходит за заданный интервал, т. е., значение должно быть в интервале: min_value <= value <= max_value, чтобы избежать ошибки.
-
required (bool) – Устанавливается в
-
-
get_param_as_json(name, required=False, store=None, default=None)[source] -
Возвращает декодированное JSON-значение параметра строки запроса.
Принимая JSON-значение, декодирует его в соответствующий тип Python, (например,
dict,list,str,int,bool, и т.д.)Параметры: name (str) – Имя параметра, чувствительное к регистру (например, ‘payload’).
Ключевые аргументы: -
required (bool) – Установите в
True, чтобы вызватьHTTPBadRequest, вместо возвращенияNone, когда параметр не найден (по умолчаниюFalse). -
store (dict) – Объект типа
dict, в который нужно поместить значение параметра, только если параметр найден (по умолчаниюNone). -
default (any) – Если параметр не найден, возвращает заданное значение вместо
None.
Возвращает: Значение параметра, если он найден. В противном случае возвращает
None, если required неTrue.Тип возвращаемого значения: Возбуждает: HTTPBadRequest– Требуемый параметр отсутствует в запросе или значение не может быть обработано как JSON. -
required (bool) – Установите в
-
get_param_as_list(name, transform=None, required=False, store=None, default=None)[source] -
Возвращает значение параметра строки запроса в виде списка.
Элементы списка должны быть разделены запятыми или должны быть предоставлены как несколько экземпляров одного и того же параметра в строке запроса по образцу application/x-www-form-urlencoded.
Параметры: name (str) – Имя параметра, чувствительное к регистру (например, ‘ids’).
Ключевые аргументы: -
transform (callable) – Необязательная функция преобразования, которая принимает в качестве входных данных каждый элемент списка в виде
strи выводит преобразованный элемент для включения в список, который будет возвращен. Например, передачаintпреобразует элементы списка в числа. -
required (bool) – Установите в
True, чтобы вызватьHTTPBadRequest, вместо возвращенияNone, когда параметр не найден (по умолчаниюFalse). -
store (dict) – Объект типа
dict, в который нужно поместить значение параметра, только если параметр найден (по умолчаниюNone). -
default (any) – Если параметр не найден, возвращает заданное значение вместо
None
Возвращает: Значение параметра, если он найден. В противном случае возвращает
None, если required не True. Пустые элементы списка будут отброшены. Например, следующие строки запроса приведут к[‘1’, ‘3’]:things=1,,3 things=1&things=&things=3
Тип возвращаемого значения: Возбуждает: HTTPBadRequest– Требуемый параметр отсутствует в запросе, или функция преобразования вызвала исключениеValueError. -
transform (callable) – Необязательная функция преобразования, которая принимает в качестве входных данных каждый элемент списка в виде
-
get_param_as_uuid(name, required=False, store=None, default=None)[source] -
Возвращает значение параметра строки запроса в виде UUID.
Значение для преобразования должно соответствовать стандартному представлению строки UUID в соответствии с RFC 4122. Например, следующие строки являются допустимыми:
# Lowercase '64be949b-3433-4d36-a4a8-9f19d352fee8' # Uppercase 'BE71ECAA-F719-4D42-87FD-32613C2EEB60' # Mixed '81c8155C-D6de-443B-9495-39Fa8FB239b5'
Параметры: name (str) – Имя параметра, чувствительное к регистру (например, ‘id’).
Ключевые аргументы: -
required (bool) – Установите в
True, чтобы вызватьHTTPBadRequest, вместо возвращенияNone, если параметр не найден или не является UUID (по умолчаниюFalse). -
store (dict) – Объект типа
dict, в который нужно поместить значение параметра, только если параметр найден (по умолчаниюNone). -
default (any) – Если параметр не найден, возвращает заданное значение вместо
None
Возвращает: Значение параметра, если он найден и может быть преобразован в
UUID. Если параметр не найден, возвращаетdefault, (по умолчаниюNone), еслиrequiredнеTrue.Тип возвращаемого значения: UUID
- Возбуждает
-
- HTTPBadRequest: Параметр не был найден в запросе, хотя
- он должен был там быть, или он был найден, но не мог быть преобразован в
UUID.
-
required (bool) – Установите в
-
has_param(name)[source] -
Определяет, существует ли параметр строки запроса.
Параметры: name (str) – Имя параметра, чувствительное к регистру (например, ‘sort’). Возвращает: Trueесли параметр найден, илиFalseесли параметр не найден.Тип возвращаемого значения: bool
-
log_error(message)[source] -
Записывает сообщение об ошибке в журнал сервера.
Добавляет отметку времени и информацию о запросе к сообщению и записывает результат в поток ошибок сервера WSGI (
wsgi.error).Параметры: message (str or unicode) – Описание проблемы. В Python 2 экземпляры unicodeбудут преобразованы в UTF-8.
-
-
class falcon.Forwarded[source] -
Представляет собой разобранный заголовок Forwarded.
(См. также: RFC 7239, Раздел 4)
-
src -
Значение параметра “for”, или
Noneесли параметр отсутствует. Определяет узел, выполнивший запрос к прокси.Тип: str
-
dest -
Значение параметра “by”, или
Noneесли параметр отсутствует. Определяет интерфейс прокси, обращённый к клиенту.Тип: str
-
host -
Значение параметра “host”, или
Noneесли параметр отсутствует. Предоставляет поле заголовка запроса “host”, полученное прокси.Тип: str
-
scheme -
Значение параметра “proto”, или
Noneесли параметр отсутствует. Указывает протокол, используемый для запроса к прокси.Тип: str
-
Ответ
-
class falcon.Response(options=None)[source] -
Представляет HTTP-ответ на запрос клиента.
Примечание
Responseне предназначен для прямого экземплярирования обработчиками.Ключевые аргументы: options (dict) – Набор глобальных параметров, переданных от обработчика API. -
status -
Строка HTTP-статуса (например, ‘200 OK’). Falcon требует полной строки статуса, а не только кода (например, 200). Такой дизайн делает фреймворк более эффективным, так как ему не нужно выполнять преобразования или поиск при составлении WSGI-ответа.
Если не задано явно, статус по умолчанию — ‘200 OK’.
Примечание
Falcon предоставляет ряд констант для распространённых кодов статуса. Все они начинаются с префикса
HTTP_, как в:falcon.HTTP_204.Тип: str
-
media -
Сериализуемый объект, поддерживаемый обработчиками данных, настроенными через
falcon.RequestOptions.См. Данные для получения дополнительной информации о обработке данных.
Тип: object
-
body -
Строка, представляющая содержимое ответа.
Если задано значение типа Unicode (
unicodeв Python 2 илиstrв Python 3), Falcon закодирует текст как UTF-8 в ответе. Если содержимое уже строка байтов, используйте атрибутdata(он быстрее).Тип: str или unicode
-
data -
Строка байтов, представляющая содержимое ответа.
Используйте этот атрибут вместо
body, когда содержимое уже строка байтов (strилиbytesв Python 2, или простоbytesв Python 3). См. также примечание ниже.Примечание
В Python 2.x, если содержимое типа
str, использование атрибутаdataвместоbodyявляется наиболее эффективным подходом. Однако, если ваш текст типаunicode, вам необходимо использовать атрибутbodyвместо него.В Python 3.x, с другой стороны, тип 2.x
strможно рассматривать как замену типаunicode, и поэтому вам всегда необходимо использовать атрибутbodyдля строк, чтобы обеспечить правильную кодировку символов Unicode в HTTP-ответе.Тип: bytes
-
stream -
Или объект, подобный файлу, с методом
read(), принимающим необязательный аргумент размера и возвращающим блок байтов, или итерируемый объект, представляющий содержимое ответа и возвращающий блоки в виде строк байтов. Falcon будет использовать wsgi.file_wrapper, если он предоставлен сервером WSGI, для эффективной обработки объектов, подобных файлам.Примечание
Если поток установлен на итерируемый объект, требующий очистки ресурсов, он может реализовать метод close() для этого. Метод close() будет вызван по завершении запроса.
-
stream_len -
Устаревший псевдоним для
content_length.Тип: int
-
context -
Словарь для хранения любых данных об ответе, специфичных для вашего приложения. Сам Falcon не будет взаимодействовать с этим атрибутом после его инициализации.
Тип: dict
-
context -
Пустой объект для хранения любых данных (в его атрибутах) об ответе, специфичных для вашего приложения (например, объект сеанса). Сам Falcon не будет взаимодействовать с этим атрибутом после его инициализации.
Примечание
Новое в 2.0: значение по умолчанию
context_type(см. ниже) было изменено со словаря на чистый класс, и предпочтительный способ передачи данных, специфичных для ответа, — это установка атрибутов непосредственно в объектеcontext, например:resp.context.cache_strategy = 'lru'
Тип: object
-
context_type -
Переменная класса, определяющая фабрику или тип для инициализации атрибута
context. По умолчанию фреймворк будет создавать пустые объекты (экземпляры чистого классаfalcon.Context). Однако вы можете переопределить это поведение, создав пользовательский дочерний классfalcon.Response, а затем передав этот новый класс вfalcon.API()через параметрresponse_type.Примечание
При переопределении
context_typeс помощью функции-фабрики (в отличие от класса), функция вызывается как метод текущего экземпляра Response. Поэтому первым аргументом является сам экземпляр Response (self).Тип: класс
-
options -
Набор глобальных параметров, переданных от обработчика API.
Тип: dict
-
headers -
Копия всех заголовков, установленных для ответа, без куки. Обратите внимание, что каждый раз, когда ссылаются на этот свойство, создается новая копия.
Тип: dict
-
complete -
Устанавливается в
Trueвнутри метода middleware для сигнализации фреймворку о том, что обработка запроса должна быть прервана (см. также Middleware).Тип: bool
-
accept_ranges -
Устанавливает заголовок Accept-Ranges.
Заголовок Accept-Ranges указывает клиенту, какие единицы диапазона поддерживаются (например, “bytes”) для целевого ресурса.
Если запросы диапазона не поддерживаются для целевого ресурса, заголовок может быть установлен на “none”, чтобы предупредить клиента об отсутствии необходимости совершать такие запросы.
Примечание
“none” — это буквальная строка, а не встроенный тип Python
None.
-
-
add_link(target, rel, title=None, title_star=None, anchor=None, hreflang=None, type_hint=None)[source] -
Добавить заголовок ссылки в ответ.
(См. также: RFC 5988, Раздел 1)
Примечание
Повторный вызов этого метода приведет к добавлению каждой ссылки в значение заголовка Link, разделенных запятыми.
Примечание
Так называемые элементы «расширения ссылок», определенные в RFC 5988, пока не поддерживаются. См. также Задача #288.
Параметры: - target (str) – Целевой IRI для ресурса, идентифицированного ссылкой. Будет преобразован в URI при необходимости в соответствии с RFC 3987, Раздел 3.1.
-
rel (str) –
Тип отношения ссылки, такой как «next» или «bookmark».
(См. также: http://www.iana.org/assignments/link-relations/link-relations.xhtml)
Ключевые аргументы: -
title (str) – Читабельное описание целевого адреса ссылки (по умолчанию
None). Если заголовок содержит символы, не входящие в ASCII, вам нужно использоватьtitle_starвместоtitle, или предоставить как версию US-ASCII, так и версию Unicode, используяtitle_star. -
title_star (tuple of str) –
Локализованный заголовок, описывающий целевой адрес ссылки (по умолчанию
None). Значение должно быть кортежем из двух элементов (языковой тег, текст), где языковой тег — это стандартный идентификатор языка, определенный в RFC 5646, Раздел 2.1, а текст — строка Unicode.Примечание
языковой тег может быть пустой строкой, в этом случае клиент будет предполагать язык из общего контекста текущего запроса.
Примечание
текст всегда будет закодирован в UTF-8. Если строка содержит символы, не входящие в ASCII, она должна быть передана как строка типа
unicode, (требуется префикс ‘u’ в Python 2). - anchor (str) – Заменить контекстный IRI другим URI (по умолчанию None). По умолчанию контекстный IRI для ссылки — это просто IRI запрошенного ресурса. Переданное значение может быть относительным URI.
-
hreflang (str или iterable) – Либо один языковой тег, либо
listилиtupleтаких тегов, чтобы предоставить подсказку клиенту о языке результата перехода по ссылке. Список тегов может быть задан для указания клиенту, что целевой ресурс доступен на нескольких языках. -
type_hint (str) – Предоставляет подсказку о типе медиа результата перехода по ссылке (по умолчанию
None). Как отмечено в RFC 5988, это только подсказка и не переопределяет заголовок Content-Type, возвращаемый при переходе по ссылке.
-
append_header(name, value)[source] -
Установить или добавить заголовок для этого ответа.
Если заголовок уже существует, новое значение обычно будет добавлено к нему, разделенное запятой. Заметным исключением из этого правила является Set-Cookie, в этом случае для каждого значения будет включена отдельная строка заголовка в ответе.
Примечание
Хотя этот метод можно использовать для эффективного добавления необработанных заголовков Set-Cookie в ответ, вы можете найти
set_cookie()более удобным.Параметры: - name (str) – Название заголовка (регистронезависимое). Здесь также применяются ограничения, указанные ниже для значения заголовка.
-
value (str) – Значение заголовка. Должно быть преобразуемо в
strили быть типаstrилиStringType. Строки должны содержать только символы US-ASCII. В Python 2.x также принимается типunicode, хотя такие строки также ограничены US-ASCII.
-
cache_control -
Установить заголовок Cache-Control.
Используется для установки списка директив кэширования, используемых в качестве значения заголовка Cache-Control. Список будет соединен с помощью “, ” для получения значения заголовка.
-
content_length -
Установить заголовок Content-Length.
Этот атрибут может быть использован для ответа на запросы HEAD, когда вы не предоставляете фактическое тело ответа или когда поток ответа. Если свойство
bodyили свойствоdataустановлены в ответе, фреймворк принудительно установит Content-Length равным длине предоставленных байтов тела. Поэтому вручную устанавливать длину содержимого необходимо только в том случае, когда эти свойства не используются.Примечание
В случаях, когда содержимое ответа представляет собой поток (объект типа «читаемый файл»), Falcon не предоставит заголовок Content-Length WSGI-серверу, если
content_lengthне установлен явно. Следовательно, сервер может выбрать использование фрагментарной кодировки или одного из других методов, предложенных в PEP-3333.
-
content_location -
Установить заголовок Content-Location.
Это значение будет закодировано в соответствии с URI в соответствии с RFC 3986. Если устанавливаемое значение уже закодировано в URI, его необходимо сначала декодировать, или заголовок следует установить вручную, используя метод set_header.
-
content_range -
Кортеж для построения значения заголовка Content-Range.
Кортеж имеет вид (start, end, length, [unit]), где start и end обозначают диапазон (включительно), а length — общую длину, или ‘*’, если неизвестно. Для этих чисел вы можете передавать значения
int, (нет необходимости предварительно преобразовывать их вstr). Необязательное значение unit описывает единицу диапазона и по умолчанию равно ‘bytes’.Примечание
Вам нужно использовать только альтернативную форму «bytes */1234» для ответов, использующих статус «416 Range Not Satisfiable». В этом случае, поднятие
falcon.HTTPRangeNotSatisfiableсделает все правильно.(См. также: RFC 7233, Раздел 4.2)
-
content_type -
Устанавливает заголовок Content-Type.
Модуль
falconпредоставляет ряд констант для распространённых типов медиа, включаяfalcon.MEDIA_JSON,falcon.MEDIA_MSGPACK,falcon.MEDIA_YAML,falcon.MEDIA_XML,falcon.MEDIA_HTML,falcon.MEDIA_JS,falcon.MEDIA_TEXT,falcon.MEDIA_JPEG,falcon.MEDIA_PNG, иfalcon.MEDIA_GIF.
-
context_type -
псевдоним для
falcon.util.structures.Context
-
-
delete_header(name)[source] -
Удалить заголовок, который был ранее задан для этого ответа.
Если заголовок ранее не был задан, ничего не происходит (ошибка не возникает). В противном случае все значения, заданные для заголовка, будут удалены из ответа.
Обратите внимание, что вызов этого метода эквивалентен установке соответствующего свойства заголовка (если такое свойство доступно) на
None. Например:resp.etag = None
Предупреждение
Этот метод нельзя использовать с заголовком Set-Cookie. Вместо этого используйте
unset_cookie(), чтобы удалить cookie и убедиться, что пользовательский агент также удалит свою копию данных.Параметры: name (str) – Имя заголовка (регистронезависимое). Должно быть типа strилиStringTypeи содержать только символы US-ASCII. В Python 2.x также принимается типunicode, хотя такие строки также ограничены US-ASCII.Возможные исключения: ValueError–nameне может быть'Set-Cookie'.
-
downloadable_as -
Устанавливает заголовок Content-Disposition с использованием заданного имени файла.
Значение будет использовано для директивы filename. Например, при
'report.pdf', заголовок Content-Disposition будет установлен на:'attachment; filename="report.pdf"'.
-
etag -
Устанавливает заголовок ETag.
Заголовок ETag будет заключён в двойные кавычки
"value"в случае, если пользователь его не передал.
-
expires -
Устанавливает заголовок Expires. Устанавливается на экземпляр
datetime(UTC).Примечание
Falcon отформатирует
datetimeкак строку даты HTTP.
-
get_header(name, default=None)[source] -
Получить строковое значение заданного заголовка.
Обычно, когда заголовок имеет несколько значений, они возвращаются как одна строка, разделённая запятыми. Однако заголовок Set-Cookie не поддерживает этот формат, поэтому попытка получить его вызовет ошибку.
Параметры: name (str) – Имя заголовка, регистронезависимое. Должно быть типа strилиStringType, и на платформах, использующих широкие символы, могут использоваться только символы с кодами 0x00 до 0xFF.Ключевые аргументы: default – Значение, которое будет возвращено, если заголовок не найден (по умолчанию None).Возможные исключения: ValueError– Запрашивается значение заголовка(ов) ‘Set-Cookie’.Возвращает: Значение указанного заголовка, если он установлен, или значение по умолчанию, если он не установлен. Тип возвращаемого значения: str
-
last_modified -
Устанавливает заголовок Last-Modified. Устанавливается на экземпляр
datetime(UTC).Примечание
Falcon отформатирует
datetimeкак строку даты HTTP.
-
location -
Устанавливает заголовок Location.
Это значение будет закодировано по URI согласно RFC 3986. Если устанавливаемое значение уже закодировано по URI, оно должно быть сначала декодировано, или заголовок должен быть установлен вручную с помощью метода set_header.
-
retry_after -
Устанавливает заголовок Retry-After.
Ожидаемое значение – целое число секунд, используемое в качестве значения заголовка. Синтаксис HTTP-даты не поддерживается.
-
-
Установите cookie ответа.
Примечание
Этот метод можно вызывать несколько раз, чтобы добавить один или несколько cookie в ответ.
См. также
Чтобы узнать больше о настройке cookie, см. Настройка cookie. Параметры, перечисленные ниже, соответствуют параметрам, определённым в RFC 6265.
Параметры: Ключевые аргументы: -
expires (datetime) –
Указывает, когда cookie должно истечь. По умолчанию cookie истекает при закрытии браузера.
(См. также: RFC 6265, Раздел 4.1.2.1)
-
max_age (int) –
Определяет срок действия cookie в секундах. По умолчанию cookie истекает при закрытии браузера. Если оба
max_ageиexpiresустановлены, браузер игнорирует последнее.Примечание
Производится преобразование в
intпри указанииfloatилиstr.(См. также: RFC 6265, Раздел 4.1.2.2)
-
domain (str) –
Ограничивает cookie определённым доменным именем и любыми его поддоменами. По умолчанию браузер вернёт cookie только исходному серверу. Если требуется изменить это поведение, указанный домен должен включать исходный сервер. В противном случае браузер отклонит cookie.
(См. также: RFC 6265, Раздел 4.1.2.3)
-
path (str) –
Определяет область cookie: указанный путь и все поддиректории. Символ «/» интерпретируется как разделитель директорий. Если путь не указан, браузер использует путь из запроса URI.
Предупреждение
Интерфейсы браузеров не всегда изолируют cookie по пути, поэтому это не эффективная мера безопасности.
(См. также: RFC 6265, Раздел 4.1.2.4)
-
secure (bool) –
Указывает браузеру возвращать cookie только в последующих запросах, если они отправлены по HTTPS (по умолчанию:
True). Это предотвращает атакующим доступ к чувствительным данным cookie.Примечание
Значение по умолчанию для этого аргумента обычно
True, но может быть изменено установкойsecure_cookies_by_defaultчерезAPI.resp_options.Предупреждение
Для эффективной работы атрибута cookie
secureприложение должно обеспечивать HTTPS.(См. также: RFC 6265, Раздел 4.1.2.5)
-
http_only (bool) –
Указывает браузеру передавать cookie только в нескриптовых HTTP-запросах (по умолчанию:
True). Это направлено на смягчение некоторых форм межсайтового скриптинга.(См. также: RFC 6265, Раздел 4.1.2.6)
Возбуждает: -
KeyError–nameне является допустимым именем cookie. -
ValueError–valueне является допустимым значением cookie.
-
expires (datetime) –
-
set_header(name, value)[source] -
Устанавливает заголовок ответа заданному значению.
Предупреждение
Вызов этого метода перезаписывает любые ранее установленные значения для этого заголовка. Чтобы добавить дополнительное значение для этого заголовка, используйте
append_header()вместо этого.Предупреждение
Этот метод нельзя использовать для установки cookie; используйте вместо него
append_header()илиset_cookie().Параметры: - name (str) – Имя заголовка (регистронезависимое). Применимы ограничения, указанные ниже, и для значения заголовка.
-
value (str) – Значение заголовка. Должно быть преобразуемо в
strили иметь типstrилиStringType. Строки должны содержать только символы US-ASCII. В Python 2.x также принимается типunicode, хотя такие строки также ограничены US-ASCII.
Возбуждает: ValueError–nameне может быть'Set-Cookie'.
-
set_headers(headers)[source] -
Устанавливает сразу несколько заголовков.
Этот метод используется для одновременной установки набора имён и значений исходных заголовков.
Предупреждение
Вызов этого метода перезаписывает все существующие значения для данного заголовка. Если передан список, содержащий несколько экземпляров одного и того же заголовка, будет использовано только последнее значение. Чтобы добавить несколько значений ответа для данного заголовка, обратитесь к
append_header().Предупреждение
Этот метод нельзя использовать для установки cookie; используйте вместо него
append_header()илиset_cookie().Параметры: headers (dict или list) – Словарь имён и значений заголовков для установки, или список кортежей (name, value). И name, и value должны быть типа
strилиStringTypeи содержать только символы US-ASCII. В Python 2.x также принимается типunicode, хотя такие строки также ограничены US-ASCII.Примечание
Falcon может обрабатывать список кортежей немного быстрее, чем словарь.
Возбуждает: ValueError–headersне былdictили списком кортежейtuple.
-
-
set_stream(stream, content_length)[source] -
Удобный метод для установки как
stream, так иcontent_length.Хотя свойства
streamиcontent_lengthможно установить напрямую, использование этого метода гарантирует, чтоcontent_lengthне будет случайно пропущен, когда длина потока известна заранее. Использование этого метода также немного эффективнее по сравнению с установкой свойств по отдельности.Примечание
Если длина потока неизвестна, вы можете установить
streamнапрямую и игнорироватьcontent_length. В этом случае сервер WSGI может выбрать использование фрагментации или одного из других стратегий, предложенных в PEP-3333.Параметры: - stream – Чтение файла-подобного объекта.
- content_length (int) – Длина потока, используемая для заголовка Content-Length в ответе.
-
stream_len -
Установить заголовок Content-Length.
Это свойство может быть использовано для ответа на запросы HEAD, когда вы фактически не предоставляете тело ответа или при потоковой передаче ответа. Если свойство
bodyили свойствоdataустановлено в ответе, фреймворк принудительно установит Content-Length равной длине заданного массива байтов. Поэтому вручную устанавливать длину содержимого необходимо только тогда, когда эти свойства не используются.Примечание
В тех случаях, когда содержимое ответа представляет собой поток (чтение файла-подобного объекта), Falcon не будет передавать заголовок Content-Length серверу WSGI, если
content_lengthне установлен явно. Следовательно, сервер может выбрать использование фрагментации или одной из других стратегий, предложенных в PEP-3333.
-
Удалить cookie в ответе
Очищает содержимое cookie и указывает пользовательскому агенту немедленно аннулировать свою копию cookie.
Предупреждение
Для успешного удаления cookie путь и домен должны соответствовать значениям, использованным при создании cookie.
-
vary -
Значение для использования в заголовке Vary.
Установите это свойство на итерируемый объект имён заголовков. Для одиночного звёздочки или значения поля просто передайте элемент
listилиtuple.Поле заголовка «Vary» в ответе описывает, какие части сообщения запроса, помимо метода, заголовка Host и целевого запроса, могут повлиять на обработку происхождения сервера для выбора и представления этого ответа. Значение состоит либо из одной звёздочки («*»), либо из списка имён полей заголовка (регистронезависимые).
(См. также: RFC 7231, Раздел 7.1.4)
-
© 2019 by Falcon contributors
Licensed under the Apache License, Version 2.0.
https://falcon.readthedocs.io/en/2.0.0/api/request_and_response.html