Обработка ошибок
При обработке ошибок вы всегда можете напрямую задать статус ошибки, соответствующие заголовки ответа и тело ошибки, используя объект resp. Однако Falcon старается упростить задачу, предоставляя набор классов ошибок, которые можно использовать, когда что-то идет не так. Все эти классы наследуются от HTTPError.
Falcon преобразует любой экземпляр или подкласс HTTPError, поднятый обработчиком, хуком или компонентом промежуточного программного обеспечения, в соответствующий HTTP-ответ. По умолчанию сериализатор ошибок поддерживает JSON и XML. Если клиент указывает приемлемость как JSON, так и XML с одинаковым весом, будет выбран JSON. Другие типы носителей могут поддерживаться путём переопределения стандартного сериализатора через set_error_serializer().
Примечание
Если используется пользовательский тип носителя, и тип включает суффикс «+json» или «+xml», стандартный сериализатор преобразует ошибку в JSON или XML соответственно.
Чтобы настроить передаваемые в сериализатор данные, создайте подкласс HTTPError или любого из его дочерних классов и переопределите метод to_dict(). Чтобы также поддерживать XML, переопределите метод to_xml(). Например:
class HTTPNotAcceptable(falcon.HTTPNotAcceptable):
def __init__(self, acceptable):
description = (
'Please see "acceptable" for a list of media types '
'and profiles that are currently supported.'
)
super().__init__(description=description)
self._acceptable = acceptable
def to_dict(self, obj_type=dict):
result = super().to_dict(obj_type)
result['acceptable'] = self._acceptable
return result
Все классы доступны непосредственно в пространстве имён пакета falcon:
import falcon
class MessageResource(object):
def on_get(self, req, resp):
# ...
raise falcon.HTTPBadRequest(
"TTL Out of Range",
"The message's TTL must be between 60 and 300 seconds, inclusive."
)
# ...
Обратите также внимание, что любые исключения (а не только экземпляры HTTPError) могут быть перехвачены, записаны в журнал и обработаны на глобальном уровне путём регистрации одного или нескольких пользовательских обработчиков ошибок. Дополнительную информацию об этой функции можно найти в add_error_handler().
Базовый класс
-
class falcon.HTTPError(status, title=None, description=None, headers=None, href=None, href_text=None, code=None)[source] -
Представляет общую ошибку HTTP.
Поднимайте экземпляр или подкласс
HTTPErrorдля того, чтобы Falcon возвращал отформатированный ответ об ошибке и соответствующий код HTTP-статуса клиенту, когда что-то идёт не так. JSON и XML типы носителей поддерживаются по умолчанию.Чтобы настроить представление об ошибке, реализуйте пользовательский сериализатор ошибок и установите его в экземпляре
APIчерезset_error_serializer().Чтобы настроить передаваемые в сериализатор данные, создайте подкласс
HTTPErrorи переопределите методto_dict()(to_json()реализован черезto_dict()). Для поддержки XML переопределите методto_xml().-
status -
Строка HTTP-статуса, например, ‘748 Сбитый с толку пони’.
Тип: str
-
has_representation -
Только для чтения свойство, определяющее, будут ли детали ошибки сериализованы при составлении HTTP-ответа. В
HTTPErrorэто свойство всегда возвращаетTrue, но дочерние классы могут переопределить его для возвратаFalse, если нужен пустой HTTP-тело.(См. также:
falcon.http_error.NoRepresentation)Примечание
Пользовательский сериализатор ошибок (см.
set_error_serializer()) может выбрать установку тела ответа независимо от значения этого свойства.Тип: bool
-
title -
Заголовок ошибки для отправки клиенту.
Тип: str
-
description -
Описание ошибки для отправки клиенту.
Тип: str
-
headers -
Дополнительные заголовки для добавления в ответ.
Тип: dict
-
link -
Ссылка, которую клиент может предоставить пользователю для получения помощи.
Тип: str
-
code -
Внутренний код приложения, который пользователь может использовать при запросе поддержки для ошибки.
Тип: int
Параметры: status (str) – Код и текст HTTP-статуса, например, “400 Bad Request”
Ключевые аргументы: -
title (str) – Название ошибки в удобной для человека форме. Если не указано, по умолчанию используется строка HTTP-статуса, определённая аргументом
status. -
description (str) – Описание ошибки в удобной для человека форме, наряду с полезным предложением или двумя (по умолчанию
None). -
headers (dict или list) –
Словарь имён и значений заголовков для установки или список кортежей (имя, значение). И имя, и значение должны быть типа
strилиStringType, а на платформах, использующих широкие символы, можно использовать только символы с кодами 0x00 по 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите возвращать пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обработать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который можно посетить для получения дополнительной информации (по умолчанию
None). Символы Юникода кодируются в процентах. - href_text (str) – Если указан href, использовать это значение в качестве дружественного заголовка/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах поддержки или для поиска статей базы знаний, относящихся к этой ошибке (по умолчанию
None).
-
to_dict(obj_type=<class 'dict'>)[source] -
Возвращает базовый словарь, представляющий ошибку.
Этот метод может быть полезен при сериализации ошибки в типы носителей, похожие на хэши, такие как YAML, JSON и MessagePack.
Параметры: obj_type – Тип, похожий на словарь, который будет использоваться для хранения информации об ошибке (по умолчанию dict).Возвращает: Словарь, заполненный заголовком, описанием и т.д. ошибки. Тип возвращаемого значения: dict
-
to_json()[source] -
Возвращает отформатированное представление ошибки в формате JSON.
Возвращает: JSON-документ для ошибки. Тип возвращаемого значения: str
-
to_xml()[source] -
Возвращает XML-представление ошибки.
Возвращает: XML-документ для ошибки. Тип возвращаемого значения: str
-
Mixins
-
class falcon.http_error.NoRepresentation[source] -
Mixin для
HTTPErrorдочерних классов, у которых нет представления.Этот класс можно использовать в качестве миксина при наследовании от
HTTPError, чтобы переопределить свойствоhas_representationтаким образом, чтобы оно всегда возвращалоFalse. Это, в свою очередь, заставит Falcon вернуть пустой ответ в тело клиенту.Вы можете использовать этот миксин при определении ошибок, которые либо не должны иметь тело (как предписывают стандарты HTTP или общие практики), или в случае, если подробный ответ об ошибке может раскрыть информацию злоумышленнику.
Примечание
Этот миксин должен находиться перед
HTTPErrorв списке базовых классов при определении дочернего класса; в противном случае он не переопределит свойствоhas_representationкак ожидается.
Предопределённые ошибки
-
exception falcon.HTTPBadRequest(title=None, description=None, headers=None, **kwargs)[source] -
400 Ошибка запроса.
Сервер не может или не будет обрабатывать запрос из-за того, что считается ошибкой клиента (например, неправильный синтаксис запроса, некорректная структура сообщения запроса или обманчивый маршрут запроса).
(См. также: RFC 7231, Раздел 6.5.1)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘400 Ошибка запроса’).
- description (str) – Пользовательское описание ошибки вместе с полезными советами.
-
headers (dict или list) –
Словарь или список имен и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны иметь тип
dictилиStringType, и на платформах с широкими символами можно использовать только символы от 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибок и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента.
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, по которому можно узнать больше информации (по умолчанию
None). Символы Unicode закодированы в процентах. - href_text (str) – Если указан href, используйте это значение в качестве описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или при поиске статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPInvalidHeader(msg, header_name, headers=None, **kwargs)[source] -
400 Ошибка запроса.
Один из заголовков в запросе некорректен.
Параметры: Ключевые аргументы: -
headers (dict или list) –
Словарь или список имен и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны иметь тип
strилиStringType, и на платформах с широкими символами можно использовать только символы от 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибок и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента.
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, по которому можно узнать больше информации (по умолчанию
None). Символы Unicode закодированы в процентах. - href_text (str) – Если указан href, используйте это значение в качестве описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или при поиске статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
headers (dict или list) –
-
exception falcon.HTTPMissingHeader(header_name, headers=None, **kwargs)[source] -
400 Ошибка запроса
Заголовок отсутствует в запросе.
Параметры: header_name (str) – Имя отсутствующего заголовка.
Ключевые аргументы: -
headers (dict или list) –
Словарь или список имен и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны иметь тип
strилиStringType, и на платформах с широкими символами можно использовать только символы от 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибок и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента.
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, по которому можно узнать больше информации (по умолчанию
None). Символы Unicode закодированы в процентах. - href_text (str) – Если указан href, используйте это значение в качестве описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или при поиске статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
headers (dict или list) –
-
exception falcon.HTTPInvalidParam(msg, param_name, headers=None, **kwargs)[source] -
400 Ошибка запроса
Неверный параметр в запросе. Эта ошибка может относиться к параметру в строке запроса, форме или документе, отправленных вместе с запросом.
Параметры: Ключевые аргументы: -
headers (dict или list) –
Словарь или список имён и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа
strилиStringType, а на платформах с широкими символами могут использоваться только символы с кодами от 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите возвращать пользовательские сообщения об ошибках, вы можете создать свой собственный класс HTTP-ошибок и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, по которому можно узнать больше информации (по умолчанию
None). Символы Unicode кодируются по процентам. - href_text (str) – Если задан href, используйте его как понятное название/описание ссылки (по умолчанию «Документация API для этой ошибки»).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
headers (dict или list) –
-
exception falcon.HTTPMissingParam(param_name, headers=None, **kwargs)[source] -
400 Ошибка запроса
Параметр отсутствует в запросе. Эта ошибка может относиться к параметру в строке запроса, форме или документе, отправленных вместе с запросом.
Параметры: param_name (str) – Название отсутствующего параметра.
Ключевые аргументы: -
headers (dict или list) –
Словарь или список имён и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа
strилиStringType, а на платформах с широкими символами могут использоваться только символы с кодами от 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите возвращать пользовательские сообщения об ошибках, вы можете создать свой собственный класс HTTP-ошибок и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, по которому можно узнать больше информации (по умолчанию
None). Символы Unicode кодируются по процентам. - href_text (str) – Если задан href, используйте его как понятное название/описание ссылки (по умолчанию «Документация API для этой ошибки»).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
headers (dict или list) –
-
401 Неавторизован.
Запрос не был обработан из-за отсутствия действительных учетных данных аутентификации для целевого ресурса.
Сервер, генерирующий ответ 401, ОБЯЗАН отправить заголовок WWW-Authenticate, содержащий хотя бы один вызов, применимый к целевому ресурсу.
Если запрос содержал учетные данные аутентификации, то ответ 401 указывает, что авторизация для этих учетных данных была отклонена. Пользовательский агент МОЖЕТ повторить запрос с новым или заменённым заголовком Authorization. Если ответ 401 содержит тот же вызов, что и предыдущий ответ, и пользовательский агент уже пытался выполнить аутентификацию хотя бы один раз, то пользовательский агент ДОЛЖЕН отобразить заключённое представление пользователю, так как оно обычно содержит полезную диагностическую информацию.
(См. также: RFC 7235, Раздел 3.1)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию «401 Неавторизован»).
- description (str) – Понятное для человека описание ошибки, вместе с полезным советом или двумя.
-
challenges (итерируемый объект str) –
Один или несколько вызовов аутентификации для использования в качестве значения заголовка WWW-Authenticate в ответе.
(См. также: RFC 7235, Раздел 2.1)
-
headers (dict или list) –
Словарь или список имён и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа
strилиStringType, а на платформах с широкими символами могут использоваться только символы с кодами от 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите возвращать пользовательские сообщения об ошибках, вы можете создать свой собственный класс HTTP-ошибок и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, по которому можно узнать больше информации (по умолчанию
None). Символы Unicode кодируются по процентам. - href_text (str) – Если задан href, используйте его как понятное название/описание ссылки (по умолчанию «Документация API для этой ошибки»).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPForbidden(title=None, description=None, headers=None, **kwargs)[source] -
403 Запрещено.
Сервер понял запрос, но отказался его авторизовать.
Сервер, желающий объяснить, почему запрос был запрещён, может описать причину в полезной нагрузке ответа (если таковая имеется).
Если в запросе были предоставлены учетные данные аутентификации, сервер считает их недостаточными для предоставления доступа. Клиент НЕ ДОЛЖЕН автоматически повторять запрос с теми же учетными данными. Клиент МОЖЕТ повторить запрос с новыми или другими учетными данными. Однако запрос может быть запрещен по причинам, не связанным с учетными данными.
Исходный сервер, желающий «скрыть» текущее существование запрещённого целевого ресурса, может вместо этого ответить кодом состояния 404 Не найдено.
(См. также: RFC 7231, Раздел 6.5.4)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘403 Запрещено’).
- description (str) – Читабельное описание ошибки с полезным советом или двумя.
-
headers (dict или list) –
Словарь (или список) имён и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа
dictилиlist, и на платформах, использующих широкие символы, могут использоваться только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента.
Примечание
Falcon может обрабатывать список
tupleнесколько быстрее, чемdict. -
href (str) – URL, по которому можно получить дополнительную информацию (по умолчанию
None). Символы Unicode закодированы в процентах. - href_text (str) – Если задан href, использовать его в качестве дружественного названия/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPNotFound(headers=None, **kwargs)[source] -
404 Не найдено.
Исходный сервер не нашел текущего представления для целевого ресурса или не хочет раскрывать, что оно существует.
Код состояния 404 не указывает, является ли отсутствие представления временным или постоянным; код состояния 410 Удалено предпочтительнее кода 404, если исходный сервер знает (вероятно, через какие-то настраиваемые средства), что данное состояние, скорее всего, является постоянным.
Ответ 404 по умолчанию кэшируется; то есть, если не указано иное в определении метода или явных настройках кэширования.
(См. также: RFC 7231, Раздел 6.5.3)
Ключевые аргументы: -
title (str) – Читабельный заголовок ошибки. Если не указан и
descriptionтоже не указан, тело в ответе не будет включено. -
description (str) – Читабельное описание ошибки с полезным советом или двумя (по умолчанию
None). -
headers (dict или list) –
Словарь (или список) имён и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа
dictилиlist, и на платформах, использующих широкие символы, могут использоваться только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента.
Примечание
Falcon может обрабатывать список
tupleнесколько быстрее, чемdict. -
href (str) – URL, по которому можно получить дополнительную информацию (по умолчанию
None). Символы Unicode закодированы в процентах. - href_text (str) – Если задан href, использовать его в качестве дружественного названия/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
title (str) – Читабельный заголовок ошибки. Если не указан и
-
exception falcon.HTTPMethodNotAllowed(allowed_methods, headers=None, **kwargs)[source] -
405 Метод не разрешен.
Метод, полученный в строке запроса, известен исходному серверу, но не поддерживается целевым ресурсом.
Исходный сервер ОБЯЗАН сгенерировать заголовок Allow в ответе 405, содержащий список текущих поддерживаемых методов целевого ресурса.
Ответ 405 по умолчанию кэшируется; то есть, если не указано иное в определении метода или явных настройках кэширования.
(См. также: RFC 7231, Раздел 6.5.5)
Параметры: allowed_methods (список str) – Разрешённые HTTP-методы для данного ресурса (например,
['GET', 'POST', 'HEAD']).Ключевые аргументы: -
title (str) – Читабельный заголовок ошибки. Если не указан и
descriptionтоже не указан, тело в ответе не будет включено. -
description (str) – Читабельное описание ошибки с полезным советом или двумя (по умолчанию
None). -
headers (dict или list) –
Словарь (или список) имён и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа
dictилиlist, и на платформах, использующих широкие символы, могут использоваться только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента.
Примечание
Falcon может обрабатывать список
tupleнесколько быстрее, чемdict. -
href (str) – URL, по которому можно получить дополнительную информацию (по умолчанию
None). Символы Unicode закодированы в процентах. - href_text (str) – Если задан href, использовать его в качестве дружественного названия/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
title (str) – Читабельный заголовок ошибки. Если не указан и
-
exception falcon.HTTPNotAcceptable(description=None, headers=None, **kwargs)[source] -
406 Неприемлемо.
У целевого ресурса нет текущего представления, которое было бы приемлемым для пользовательского агента в соответствии с заголовками предварительного согласования, полученными в запросе, и сервер не хочет предоставлять стандартное представление.
Сервер ДОЛЖЕН сгенерировать полезную нагрузку, содержащую список доступных характеристик представления и соответствующих идентификаторов ресурсов, из которых пользователь или пользовательский агент могут выбрать наиболее подходящий. Пользовательский агент МОЖЕТ автоматически выбрать наиболее подходящий вариант из этого списка. Однако эта спецификация не определяет стандарт для такого автоматического выбора, как описано в RFC 7231, раздел 6.4.1.
(См. также: RFC 7231, раздел 6.5.6)
Ключевые аргументы: - description (str) – Читабельное описание ошибки для человека, а также полезное предложение или два.
-
headers (dict или list) –
A
dictсписка имён и значений заголовков для установки, или alistсписка кортежей (name, value). И name, и value должны быть типаstrилиStringType, и только символьные значения 0x00 до 0xFF могут использоваться на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс ошибок HTTP и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента.
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который можно посетить, чтобы получить более подробную информацию (по умолчанию
None). Символы Unicode закодированы по процентам. - href_text (str) – Если указан href, используйте его в качестве дружественного названия/описания ссылки (по умолчанию «Документация API для этой ошибки»).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPConflict(title=None, description=None, headers=None, **kwargs)[source] -
409 Конфликт.
Запрос не может быть выполнен из-за конфликта с текущим состоянием целевого ресурса. Этот код используется в ситуациях, когда пользователь может разрешить конфликт и повторно отправить запрос.
Сервер ДОЛЖЕН сгенерировать полезную нагрузку, содержащую достаточную информацию для пользователя, чтобы определить источник конфликта.
Конфликты наиболее вероятны в ответ на запрос PUT. Например, если использовалось управление версиями, и представление, которое было помещено, включало изменения в ресурс, которые конфликтуют с изменениями, сделанными более ранним (сторонним) запросом, исходный сервер может использовать ответ 409, чтобы указать, что не может выполнить запрос. В этом случае представление ответа, вероятно, будет содержать информацию, полезную для слияния различий на основе истории изменений.
(См. также: RFC 7231, раздел 6.5.8)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию «409 Конфликт»).
- description (str) – Читабельное описание ошибки для человека, а также полезное предложение или два.
-
headers (dict или list) –
A
dictсписка имён и значений заголовков для установки, или alistсписка кортежей (name, value). И name, и value должны быть типаstrилиStringType, и только символьные значения 0x00 до 0xFF могут использоваться на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс ошибок HTTP и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента.
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который можно посетить, чтобы получить более подробную информацию (по умолчанию
None). Символы Unicode закодированы по процентам. - href_text (str) – Если указан href, используйте его в качестве дружественного названия/описания ссылки (по умолчанию «Документация API для этой ошибки»).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPGone(headers=None, **kwargs)[source] -
410 Отсутствует.
Ресурс по целевому адресу больше недоступен на сервере источнике, и этот статус, скорее всего, постоянный.
Если сервер источника не знает или не может определить, является ли этот статус постоянным, следует использовать код статуса 404 Не найдено.
Код ответа 410 в первую очередь предназначен для поддержки задач веб-обслуживания, уведомляя получателя, что ресурс намеренно недоступен, и владельцы сервера хотят, чтобы удаленные ссылки на этот ресурс были удалены. Такое часто встречается для ограниченных по времени промо-услуг и для ресурсов, принадлежащих пользователям, больше не связанным с сайтом сервера источника. Нет необходимости помечать все постоянно недоступные ресурсы как «отсутствующие» или хранить метку какое-то время — это решается по усмотрению владельца сервера.
Ответ с кодом 410 кэшируется по умолчанию; то есть, если не указано иное в определении метода или явных кэширующих настройках.
(См. также: RFC 7231, Раздел 6.5.9)
Ключевые аргументы: -
title (str) – Название ошибки, понятное пользователю. Если не указано, и
descriptionтакже не указано, в ответ не будет включено тело. -
description (str) – Понятное пользователю описание ошибки, вместе с полезным советом или двумя (по умолчанию
None). -
headers (dict or list) –
A
dictназваний и значений заголовков для установки, или alistкортежей (name, value). И name, и value должны быть типаstrилиStringType, и только символьные значения от 0x00 до 0xFF могут использоваться на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет переопределён. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс ошибок HTTP и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обработать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который пользователь может посетить, чтобы получить больше информации (по умолчанию
None). Символы Юникода кодируются в процентах. - href_text (str) – Если указан href, используйте это значение в качестве дружественного заголовка/описания ссылки (по умолчанию «Документация API для этой ошибки»).
-
code (int) – Внутренний код, который пользователи могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
title (str) – Название ошибки, понятное пользователю. Если не указано, и
-
exception falcon.HTTPLengthRequired(title=None, description=None, headers=None, **kwargs)[source] -
411 Требуется длина.
Сервер отказывается принимать запрос без заданной длины тела (Content-Length).
Клиент может повторить запрос, добавив в заголовок Content-Length значение длины тела сообщения в запросе.
(См. также: RFC 7231, Раздел 6.5.10)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию «411 Требуется длина»).
- description (str) – Понятное пользователю описание ошибки, вместе с полезным советом или двумя.
-
headers (dict or list) –
A
dictназваний и значений заголовков для установки, или alistкортежей (name, value). И name, и value должны быть типаstrилиStringType, и только символьные значения от 0x00 до 0xFF могут использоваться на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет переопределён. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс ошибок HTTP и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обработать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который пользователь может посетить, чтобы получить больше информации (по умолчанию
None). Символы Юникода кодируются в процентах. - href_text (str) – Если указан href, используйте это значение в качестве дружественного заголовка/описания ссылки (по умолчанию «Документация API для этой ошибки»).
-
code (int) – Внутренний код, который пользователи могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPPreconditionFailed(title=None, description=None, headers=None, **kwargs)[source] -
412 Условие не выполнено.
Одно или несколько условий, заданных в заголовках запроса, при проверке на сервере оказались ложными.
Этот код ответа позволяет клиенту задавать условия на текущее состояние ресурса (его текущие представления и метаданные) и, таким образом, предотвращать применение метода запроса, если целевой ресурс находится в неожиданном состоянии.
(См. также: RFC 7232, Раздел 4.2)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию «412 Условие не выполнено»).
- description (str) – Понятное пользователю описание ошибки, вместе с полезным советом или двумя.
-
headers (dict or list) –
A
dictназваний и значений заголовков для установки, или alistкортежей (name, value). И name, и value должны быть типаstrилиStringType, и только символьные значения от 0x00 до 0xFF могут использоваться на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет переопределён. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс ошибок HTTP и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обработать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который пользователь может посетить, чтобы получить больше информации (по умолчанию
None). Символы Юникода кодируются в процентах. - href_text (str) – Если указан href, используйте это значение в качестве дружественного заголовка/описания ссылки (по умолчанию «Документация API для этой ошибки»).
-
code (int) – Внутренний код, который пользователи могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPPayloadTooLarge(title=None, description=None, retry_after=None, headers=None, **kwargs)[source] -
413 Запрос слишком большой.
Сервер отказывается обрабатывать запрос, так как размер тела запроса превышает допустимое значение.
Сервер МОЖЕТ закрыть соединение, чтобы предотвратить продолжение запроса клиентом.
Если условие временное, сервер ДОЛЖЕН сгенерировать заголовок Retry-After, чтобы указать, что оно временное, и через какое время клиент может повторить попытку.
(См. также: RFC 7231, Раздел 6.5.11)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘413 Запрос слишком большой’).
- description (str) – Читабельное описание ошибки с полезным советом.
-
retry_after (datetime или int) – Значение для заголовка Retry-After. Если объект
datetime, он будет сериализован как HTTP-дата. В противном случае ожидается неотрицательное целое числоint, представляющее количество секунд ожидания. -
headers (dict или list) –
Словарь или список пар (имя, значение) для установки заголовков. Оба имя и значение должны быть типа
strилиStringType, а на платформах с широкими символами могут использоваться только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он есть, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, по которому можно получить дополнительную информацию (по умолчанию
None). Символы Юникода кодируются по правилам URL. - href_text (str) – Если задан href, использовать это значение в качестве дружественного заголовка/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPUriTooLong(title=None, description=None, headers=None, **kwargs)[source] -
414 URI слишком длинный.
Сервер отказывается обрабатывать запрос, так как адрес запроса длиннее, чем сервер может интерпретировать.
Это редкое условие, которое, скорее всего, произойдет, когда клиент неправильно перевел POST-запрос в GET-запрос с длинной информацией запроса, когда клиент попал в «черную дыру» перенаправления (например, перенаправленный префикс URI, который указывает на суффикс самого себя) или когда сервер подвергается атаке клиента, пытающегося использовать потенциальные бреши в безопасности.
Ответ 414 кэшируется по умолчанию; то есть, если не указано иначе определением метода или явными настройками кэша.
(См. также: RFC 7231, Раздел 6.5.12)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘414 URI слишком длинный’).
-
description (str) – Читабельное описание ошибки с полезным советом (по умолчанию
None). -
headers (dict или list) –
Словарь или список пар (имя, значение) для установки заголовков. Оба имя и значение должны быть типа
strилиStringType, а на платформах с широкими символами могут использоваться только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он есть, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, по которому можно получить дополнительную информацию (по умолчанию
None). Символы Юникода кодируются по правилам URL. - href_text (str) – Если задан href, использовать это значение в качестве дружественного заголовка/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPUnsupportedMediaType(description=None, headers=None, **kwargs)[source] -
415 Неподдерживаемый тип медиа.
Исходный сервер отказывается обслуживать запрос, так как тело запроса в формате, не поддерживаемом этим методом для целевого ресурса.
Проблема формата может быть связана с указанным в запросе Content-Type или Content-Encoding, или в результате прямого анализа данных.
(См. также: RFC 7231, Раздел 6.5.13)
Ключевые аргументы: - description (str) – Читабельное описание ошибки с полезным советом.
-
headers (dict или list) –
Словарь или список пар (имя, значение) для установки заголовков. Оба имя и значение должны быть типа
strилиStringType, а на платформах с широкими символами могут использоваться только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он есть, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, по которому можно получить дополнительную информацию (по умолчанию
None). Символы Юникода кодируются по правилам URL. - href_text (str) – Если задан href, использовать это значение в качестве дружественного заголовка/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPRangeNotSatisfiable(resource_length, headers=None)[source] -
416 Диапазон не удовлетворён.
Ни один из диапазонов в поле заголовка Range запроса не перекрывает текущий объём выбранного ресурса, или набор запрошенных диапазонов был отклонен из-за неверных диапазонов или чрезмерного запроса малых или перекрывающихся диапазонов.
Для байтовых диапазонов, неперекрытие текущего объёма означает, что позиция первого байта во всех значениях byte-range-spec была больше текущей длины выбранного представления. Когда этот код состояния генерируется в ответ на запрос байтового диапазона, отправитель ДОЛЖЕН сгенерировать поле заголовка Content-Range, указывающее текущую длину выбранного представления.
(См. также: RFC 7233, Раздел 4.4)
Параметры: resource_length – Максимальное значение для последнего байта в запросе диапазона. Используется для установки заголовка Content-Range.
-
exception falcon.HTTPUnprocessableEntity(title=None, description=None, headers=None, **kwargs)[source] -
422 Необработанная сущность.
Сервер понимает тип содержимого сущности запроса (следовательно, код состояния 415 Неподдерживаемый тип медиа не подходит), и синтаксис сущности запроса правильный (следовательно, код состояния 400 Плохой запрос не подходит), но не смог обработать содержащиеся инструкции.
Например, это условие ошибки может возникнуть, если тело XML-запроса содержит правильно сформированный (т. е. синтаксически корректный), но семантически ошибочный XML-инструкции.
(См. также: RFC 4918, Раздел 11.2)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘422 Необработанная сущность’).
- description (str) – Наглядное описание ошибки с полезным предложением или двумя.
-
headers (dict или list) –
A
dictсписка имён и значений заголовков, илиlistкортежей (имя, значение). И имя, и значение должны быть типаstrилиStringType, и только символьные значения от 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать свой собственный класс HTTP-ошибок и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обработать список
tupleнесколько быстрее, чемdict. -
href (str) – URL, который пользователь может посетить, чтобы получить дополнительную информацию (по умолчанию
None). Символы Юникода кодируются по процентам. - href_text (str) – Если href задан, используйте его в качестве дружественного заголовка/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах поддержки или для поиска статей базы знаний, относящихся к этой ошибке (по умолчанию
None).
-
exception falcon.HTTPLocked(title=None, description=None, headers=None, **kwargs)[source] -
423 Заблокировано.
Код состояния 423 (Заблокировано) означает, что источник или целевой ресурс метода заблокирован. Этот ответ ДОЛЖЕН содержать соответствующий код предусловия или постусловия, такой как ‘lock-token-submitted’ или ‘no-conflicting-lock’.
(См. также: RFC 4918, Раздел 11.3)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘423 Заблокировано’).
- description (str) – Наглядное описание ошибки с полезным предложением или двумя.
-
headers (dict или list) –
A
dictсписка имён и значений заголовков, илиlistкортежей (имя, значение). И имя, и значение должны быть типаstrилиStringType, и только символьные значения от 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать свой собственный класс HTTP-ошибок и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обработать список
tupleнесколько быстрее, чемdict. -
href (str) – URL, который пользователь может посетить, чтобы получить дополнительную информацию (по умолчанию
None). Символы Юникода кодируются по процентам. - href_text (str) – Если href задан, используйте его в качестве дружественного заголовка/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах поддержки или для поиска статей базы знаний, относящихся к этой ошибке (по умолчанию
None).
-
exception falcon.HTTPFailedDependency(title=None, description=None, headers=None, **kwargs)[source] -
424 Неудачная зависимость.
Код состояния 424 (Неудачная зависимость) означает, что метод не может быть выполнен над ресурсом, поскольку запрошенное действие зависело от другого действия, а это действие завершилось неудачей.
(См. также: RFC 4918, раздел 11.4)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘424 Неудачная зависимость’).
- description (str) – Пользовательское описание ошибки, вместе с полезным советом или двумя.
-
headers (dict или list) –
A
dictимён и значений заголовков для установки или alistкортежей (имя, значение). И имя, и значение должны быть типаstrилиStringType, и только символьные значения от 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать свой собственный класс HTTP-ошибки и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который пользователь может посетить, чтобы получить больше информации (по умолчанию
None). Символы Unicode кодируются в процентах. - href_text (str) – Если указан href, используйте его в качестве понятного названия/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросе в службу поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPPreconditionRequired(title=None, description=None, headers=None, **kwargs)[source] -
428 Требуется предусловие.
Код состояния 428 указывает, что сервер-источник требует, чтобы запрос был условным.
Его типичное использование — для предотвращения проблемы «потерянного обновления», когда клиент получает состояние ресурса, изменяет его и отправляет обратно PUT на сервер, в то время как третья сторона изменила состояние на сервере, что приводит к конфликту. Требуя, чтобы запросы были условными, сервер может гарантировать, что клиенты работают с правильными копиями.
Ответы, использующие этот код состояния, ДОЛЖНЫ объяснять, как успешно повторно отправить запрос.
(См. также: RFC 6585, раздел 3)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘428 Требуется предусловие’).
- description (str) – Пользовательское описание ошибки, вместе с полезным советом или двумя.
-
headers (dict или list) –
A
dictимён и значений заголовков для установки или alistкортежей (имя, значение). И имя, и значение должны быть типаstrилиStringType, и только символьные значения от 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать свой собственный класс HTTP-ошибки и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который пользователь может посетить, чтобы получить больше информации (по умолчанию
None). Символы Unicode кодируются в процентах. - href_text (str) – Если указан href, используйте его в качестве понятного названия/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросе в службу поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPTooManyRequests(title=None, description=None, retry_after=None, headers=None, **kwargs)[source] -
429 Слишком много запросов.
Пользователь отправил слишком много запросов за заданное время («ограничение по частоте»).
Представления ответа ДОЛЖНЫ содержать подробности, объясняющие условие, и МОГУТ включать заголовок Retry-After, указывающий, как долго ждать перед отправкой нового запроса.
Ответы со статусом 429 НЕ ДОЛЖНЫ храниться в кэше.
(См. также: RFC 6585, раздел 4)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘429 Слишком много запросов’).
- description (str) – Пользовательское описание превышения ограничения по частоте.
-
retry_after (datetime или int) – Значение для заголовка Retry-After. Если объект
datetime, он будет сериализован как HTTP-дата. В противном случае ожидается неотрицательноеint, представляющее количество секунд ожидания. -
headers (dict или list) –
A
dictимён и значений заголовков для установки или alistкортежей (имя, значение). И имя, и значение должны быть типаstrилиStringType, и только символьные значения от 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать свой собственный класс HTTP-ошибки и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который пользователь может посетить, чтобы получить больше информации (по умолчанию
None). Символы Unicode кодируются в процентах. - href_text (str) – Если указан href, используйте его в качестве понятного названия/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросе в службу поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPRequestHeaderFieldsTooLarge(title=None, description=None, headers=None, **kwargs)[source] -
431 Заголовок запроса слишком большой.
Код состояния 431 указывает, что сервер не хочет обрабатывать запрос, потому что его заголовки слишком велики. Запрос МОЖЕТ быть повторён после уменьшения размера заголовков запроса.
Он может использоваться как когда набор заголовков запроса в целом слишком большой, так и когда виноват один заголовок. В последнем случае представление ответа ДОЛЖНО указать, какой заголовок был слишком большим.
Ответы со статусом 431 НЕ ДОЛЖНЫ храниться кешем.
(См. также: RFC 6585, Раздел 5)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘431 Заголовок запроса слишком большой’).
- description (str) – Пользовательское описание превышения лимита скорости.
-
headers (dict или list) –
A
dictимён и значений заголовков для установки, илиlistкортежей (name, value). И name, и value должны быть типаstrилиStringType, и на платформах с широкими символами могут использоваться только символы от 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать свой собственный класс ошибок HTTP и установить обработчик ошибок для преобразования его в соответствующий ответ HTTP для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который можно посетить, чтобы узнать больше информации (по умолчанию
None). Символы Юникода кодируются в процентах. - href_text (str) – Если задан href, используйте его в качестве дружественного заголовка/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
451 Недоступно по юридическим причинам.
Сервер отказывает в доступе к ресурсу в результате юридического требования.
Указанный сервер может не являться исходным сервером. Такое юридическое требование, как правило, в первую очередь затрагивает работу провайдеров интернет-услуг и поисковых систем.
Ответы с этим кодом состояния ДОЛЖНЫ включать объяснение деталей юридического требования в теле ответа: стороны, выдвигающей требование, соответствующего законодательства или нормативного акта и к каким категориям лиц и ресурсов оно применяется.
Обратите внимание, что во многих случаях клиенты всё ещё могут получить доступ к запрещённому ресурсу, используя технические контрмеры, такие как VPN или сеть Tor.
Ответ 451 кешируется по умолчанию; т.е., если не указано иное определением метода или явными параметрами кэширования.
(См. также: RFC 7725, Раздел 3)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘451 Недоступно по юридическим причинам’).
-
description (str) – Пользовательское описание ошибки с полезным советом или двумя (по умолчанию
None). -
headers (dict или list) –
A
dictимён и значений заголовков для установки, илиlistкортежей (name, value). И name, и value должны быть типаstrилиStringType, и на платформах с широкими символами могут использоваться только символы от 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать свой собственный класс ошибок HTTP и установить обработчик ошибок для преобразования его в соответствующий ответ HTTP для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который можно посетить, чтобы узнать больше информации (по умолчанию
None). Символы Юникода кодируются в процентах. - href_text (str) – Если задан href, используйте его в качестве дружественного заголовка/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPInternalServerError(title=None, description=None, headers=None, **kwargs)[source] -
500 Внутренняя ошибка сервера.
Сервер столкнулся с непредвиденной ситуацией, которая помешала ему выполнить запрос.
(См. также: RFC 7231, Раздел 6.6.1)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘500 Внутренняя ошибка сервера’).
- description (str) – Пользовательское описание ошибки с полезным советом или двумя.
-
headers (dict или list) –
A
dictимён и значений заголовков для установки, илиlistкортежей (name, value). И name, и value должны быть типаstrилиStringType, и на платформах с широкими символами могут использоваться только символы от 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать свой собственный класс ошибок HTTP и установить обработчик ошибок для преобразования его в соответствующий ответ HTTP для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который можно посетить, чтобы узнать больше информации (по умолчанию
None). Символы Юникода кодируются в процентах. - href_text (str) – Если задан href, используйте его в качестве дружественного заголовка/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPNotImplemented(title=None, description=None, headers=None, **kwargs)[source] -
501 Не реализовано.
Код состояния 501 (Не реализовано) указывает, что сервер не поддерживает функциональность, необходимую для выполнения запроса. Это подходящий ответ, когда сервер не распознаёт метод запроса и не способен его поддерживать для любого ресурса.
Ответ 501 кэшируется по умолчанию; т. е., если не указано иное определением метода или явными кэширующими параметрами, как описано в RFC 7234, раздел 4.2.2.
(См. также: RFC 7231, раздел 6.6.2)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘500 Внутренняя ошибка сервера’).
- description (str) – Читабельное описание ошибки с полезным советом или двумя.
-
headers (dict или list) –
A
dictсписка имён и значений заголовков для установки, илиlistкортежей (name, value). И name, и value должны быть типаstrилиStringType, и на платформах, использующих широкие символы, могут использоваться только символьные значения от 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который пользователь может посетить для получения дополнительной информации (по умолчанию
None). Символы Unicode кодируются в процентах. - href_text (str) – Если задан href, используйте его в качестве дружественного заголовка/описания для ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросе поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPBadGateway(title=None, description=None, headers=None, **kwargs)[source] -
502 Плохой шлюз.
Сервер, действуя как шлюз или прокси, получил неверный ответ от входного сервера, к которому он обратился при попытке выполнить запрос.
(См. также: RFC 7231, раздел 6.6.3)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘502 Плохой шлюз’).
- description (str) – Читабельное описание ошибки с полезным советом или двумя.
-
headers (dict или list) –
A
dictсписка имён и значений заголовков для установки, илиlistкортежей (name, value). И name, и value должны быть типаstrилиStringType, и на платформах, использующих широкие символы, могут использоваться только символьные значения от 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который пользователь может посетить для получения дополнительной информации (по умолчанию
None). Символы Unicode кодируются в процентах. - href_text (str) – Если задан href, используйте его в качестве дружественного заголовка/описания для ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросе поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
503 Сервис недоступен.
В настоящее время сервер не может обработать запрос из-за временной перегрузки или планового технического обслуживания, которое, вероятно, будет устранено после некоторой задержки.
Сервер МОЖЕТ отправить заголовок Retry-After, чтобы указать соответствующее время ожидания клиентом перед повторной отправкой запроса.
Примечание: существование статусного кода 503 не подразумевает, что сервер должен его использовать при перегрузке. Некоторые серверы могут просто отклонить подключение.
(См. также: RFC 7231, раздел 6.6.4)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘503 Сервис недоступен’).
- description (str) – Пользовательское описание ошибки, наряду с полезным советом или двумя.
-
retry_after (datetime или int) – Значение для заголовка Retry-After. Если объект
datetime, будет сериализован как HTTP-дата. В противном случае ожидается неотрицательноеintцелое число, представляющее количество секунд ожидания. -
headers (dict или list) –
Словарь или список пар (имя, значение) для установки заголовков. И имя, и значение должны быть типа
strилиStringType, и на платформах с широкими символами могут использоваться только символы 0x00 до 0xFF.Примечание
Заголовок Content-Type, если присутствует, будет перезаписан. Если вы хотите возвращать собственные сообщения об ошибках, вы можете создать свой собственный класс HTTP-ошибки и установить обработчик ошибок для его преобразования в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который можно посетить для получения дополнительной информации (по умолчанию
None). Символы Юникода закодированы в процентах. - href_text (str) – Если href задан, используйте это в качестве дружественного заголовка/описания для ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPGatewayTimeout(title=None, description=None, headers=None, **kwargs)[source] -
Ошибка 504 «Таймаут шлюза».
Код состояния 504 (Таймаут шлюза) указывает, что сервер, действуя как шлюз или прокси, не получил своевременного ответа от сервера верхнего уровня, к которому ему необходимо было получить доступ для завершения запроса.
(См. также: RFC 7231, Раздел 6.6.5)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию «503 Сервис недоступен»).
- description (str) – Описание ошибки в удобном для чтения виде с полезными советами.
-
headers (dict or list) –
Словарь или список пар (имя, значение) для установки заголовков. И имя, и значение должны быть типов
strилиStringType, и на платформах с широкими символами могут использоваться только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите возвращать пользовательские сообщения об ошибках, можно создать собственный класс ошибок HTTP и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL для дополнительной информации (по умолчанию
None). Символы Unicode кодируются в процентах. - href_text (str) – Если задан href, используйте это как дружественное название/описание для ссылки (по умолчанию «Документация API для этой ошибки»).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPVersionNotSupported(title=None, description=None, headers=None, **kwargs)[source] -
Ошибка 505 «Неподдерживаемая версия HTTP»
Код состояния 505 (Неподдерживаемая версия HTTP) указывает, что сервер не поддерживает или отказывается поддерживать основную версию HTTP, использованную в сообщении запроса. Сервер сообщает, что он не может или не хочет выполнить запрос с использованием той же основной версии, что и клиент (как описано в RFC 7230, Раздел 2.6), кроме как с этим сообщением об ошибке. Сервер ДОЛЖЕН сгенерировать представление для ответа 505, которое описывает, почему эта версия не поддерживается, и какие другие протоколы поддерживаются этим сервером.
(См. также: RFC 7231, Раздел 6.6.6)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию «503 Сервис недоступен»).
- description (str) – Описание ошибки в удобном для чтения виде с полезными советами.
-
headers (dict or list) –
Словарь или список пар (имя, значение) для установки заголовков. И имя, и значение должны быть типов
strилиStringType, и на платформах с широкими символами могут использоваться только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите возвращать пользовательские сообщения об ошибках, можно создать собственный класс ошибок HTTP и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL для дополнительной информации (по умолчанию
None). Символы Unicode кодируются в процентах. - href_text (str) – Если задан href, используйте это как дружественное название/описание для ссылки (по умолчанию «Документация API для этой ошибки»).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPInsufficientStorage(title=None, description=None, headers=None, **kwargs)[source] -
507 Недостаточно памяти.
Код состояния 507 (Недостаточно памяти) означает, что метод не смог быть выполнен над ресурсом, поскольку сервер не может сохранить представление, необходимое для успешного выполнения запроса. Это состояние считается временным. Если запрос, получивший этот код состояния, был результатом действия пользователя, запрос НЕ должен повторяться, пока он не будет запрошен отдельным действием пользователя.
(См. также: RFC 4918, Раздел 11.5)
Аргументы ключевых слов: - title (str) – Заголовок ошибки (по умолчанию ‘507 Недостаточно памяти’).
- description (str) – Человекопонятное описание ошибки, вместе с полезным советом или двумя.
-
headers (dict или list) –
Список пар имён и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа
strилиStringType, и только символы 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите возвращать пользовательские сообщения об ошибках, вы можете создать собственный класс ошибок HTTP и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента.
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который можно посетить, чтобы получить больше информации (по умолчанию
None). Символы Юникода закодированы в процентах. - href_text (str) – Если href задан, используйте это значение в качестве дружественного заголовка/описания для ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPLoopDetected(title=None, description=None, headers=None, **kwargs)[source] -
Обнаружен цикл 508.
Код состояния 508 (Обнаружен цикл) указывает, что сервер завершил операцию, поскольку при обработке запроса с «Глубина: бесконечность» был обнаружен бесконечный цикл. Этот статус указывает на то, что вся операция завершилась неудачно.
(См. также: RFC 5842, Раздел 7.2)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘508 Loop Detected’).
- description (str) – Понятное описание ошибки для пользователя, вместе с полезным советом или двумя.
-
headers (dict или list) –
Список пар «имя заголовка — значение» для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа
strилиStringType, и на платформах, использующих широкие символы, могут быть использованы только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите возвращать пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который можно посетить, чтобы узнать больше информации (по умолчанию
None). Символы Юникода закодированы в процентах. - href_text (str) – Если задан href, использовать его в качестве дружественного заголовка/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPNetworkAuthenticationRequired(title=None, description=None, headers=None, **kwargs)[source] -
511 Требуется сетевая аутентификация.
Код состояния 511 указывает, что клиенту необходимо пройти аутентификацию для доступа к сети.
Представление ответа ДОЛЖНО содержать ссылку на ресурс, который позволяет пользователю ввести учетные данные.
Обратите внимание, что ответ 511 НЕ ДОЛЖЕН содержать вызов или сам интерфейс аутентификации, так как клиенты отобразят интерфейс как связанный с первоначально запрошенным URL-адресом, что может вызвать путаницу.
Код состояния 511 НЕ ДОЛЖЕН генерироваться серверами источника; он предназначен для использования прокси-серверами, которые вставляются для управления доступом к сети.
Ответы с кодом состояния 511 НЕ ДОЛЖНЫ сохраняться кэшем.
(См. также: RFC 6585, Раздел 6)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘511 Network Authentication Required’).
- description (str) – Понятное описание ошибки для пользователя, вместе с полезным советом или двумя.
-
headers (dict или list) –
Список пар «имя заголовка — значение» для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа
strилиStringType, и на платформах, использующих широкие символы, могут быть использованы только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите возвращать пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
href (str) – URL, который можно посетить, чтобы узнать больше информации (по умолчанию
None). Символы Юникода закодированы в процентах. - href_text (str) – Если задан href, использовать его в качестве дружественного заголовка/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
© 2019 by Falcon contributors
Licensed under the Apache License, Version 2.0.
https://falcon.readthedocs.io/en/2.0.0/api/errors.html