Обработка ошибок
При обработке ошибок вы всегда можете напрямую установить статус ошибки, соответствующие заголовки ответа и тело ошибки, используя объект resp. Однако Falcon пытается упростить задачу, предоставив набор классов ошибок, которые вы можете поднимать, когда что-то идет не так. Все эти классы наследуются от HTTPError.
Falcon преобразует любой экземпляр или подкласс HTTPError, поднятый ответом, обработчиком или компонентом промежуточного ПО, в соответствующий HTTP-ответ. По умолчанию сериализатор ошибок поддерживает как JSON, так и XML. Если клиент указывает приемлемость как JSON, так и XML с равным весом, будет выбран JSON. Другие типы носителей могут поддерживаться путем переопределения стандартного сериализатора через set_error_serializer().
Примечание
Если используется пользовательский тип носителя, и тип включает суффикс «+json» или «+xml», стандартный сериализатор преобразует ошибку в JSON или XML соответственно.
Все классы доступны непосредственно в пространстве имён пакета 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 -
str – Строка HTTP-статуса, например, «748 Сбит с толку единорогами».
-
has_representation -
bool – Только для чтения свойство, которое определяет, будут ли сериализованы детали ошибки при составлении HTTP-ответа. В
HTTPErrorэто свойство всегда возвращаетTrue, но дочерние классы могут переопределить его, чтобы вернутьFalse, если желательно пустое тело HTTP. См. также миксинfalcon.http_error.NoRepresentation.
-
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) –
Словарь имён и значений заголовков, или кортеж (name, value). И name, и value должны быть типа
strилиStringType, и на платформах, использующих широкие символы, можно использовать только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите возвращать пользовательские сообщения об ошибках, вы можете создать свой собственный класс HTTP-ошибки и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, которые нужно вернуть в ответе клиенту (по умолчанию
None). -
href (str) – URL, который пользователь может посетить для получения дополнительной информации (по умолчанию
None). Символы Unicode закодированы в процентах. - href_text (str) – Если указан href, используйте это как дружелюбное заголовок/описание ссылки (по умолчанию «Документация API для этой ошибки»).
-
code (int) – Внутренний код, который клиенты могут указать в своих запросах поддержки или использовать для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
to_dict(obj_type=<type 'dict'>)[source] -
Возвращает базовый словарь, представляющий ошибку.
Этот метод может быть полезен при сериализации ошибки в типы носителей, похожих на хеши, такие как YAML, JSON и MessagePack.
Параметры: obj_type – Тип, похожий на словарь, который будет использоваться для хранения информации об ошибке (по умолчанию dict).Возвращает: Словарь, заполненный заголовком, описанием и другими данными об ошибке. Тип возвращаемого значения: dict
-
to_json()[source] -
Возвращает красиво отформатированное JSON-представление ошибки.
Возвращает: JSON-документ для ошибки. Тип возвращаемого значения: str
-
to_xml()[source] -
Возвращает XML-кодированное представление ошибки.
Возвращает: XML-документ для ошибки. Тип возвращаемого значения: str
-
Миксины
-
class falcon.http_error.NoRepresentation[source] -
Миксин для подклассов
HTTPError, которые не имеют представления.Этот класс может быть смешан с подклассом
HTTPError, чтобы переопределить свойствоhas_representation, чтобы оно всегда возвращалоFalse. Это заставит Falcon возвращать пустое тело ответа клиенту.Этот миксин можно использовать при определении ошибок, которые либо не должны иметь тело (как диктуют стандарты HTTP или общая практика), либо в случае, если подробный ответ об ошибке может раскрыть информацию злоумышленнику.
Примечание
Этот миксин должен располагаться перед
HTTPErrorв списке базовых классов при определении подкласса; в противном случае он не переопределит свойствоhas_representationдолжным образом.
Предопределённые ошибки
-
exception falcon.HTTPBadRequest(title=None, description=None, **kwargs)[source] -
400 Ошибка запроса.
Сервер не может или не хочет обработать запрос из-за ошибки клиента (например, неправильный синтаксис запроса, некорректная структура сообщения запроса или обманчивый маршрут запроса).
(См. также: RFC 7231, Раздел 6.5.1)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘400 Bad Request’).
- description (str) – Читабельное описание ошибки с полезным советом или двумя.
-
headers (dict) –
Словарь
dictимён и значений заголовков, илиlistкортежей (имя, значение). И имя, и значение должны быть типаstrилиStringType, а на платформах, использующих широкие символы, могут использоваться только символы с кодами от 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите возвращать собственные сообщения об ошибках, вы можете создать собственный класс ошибок HTTP и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки для возврата в ответе клиенту (по умолчанию
None). -
href (str) – URL, который можно посетить, чтобы узнать больше информации (по умолчанию
None). Символы Юникода закодированы в процентах. - href_text (str) – Если задан href, использовать его в качестве описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах в службу поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPInvalidHeader(msg, header_name, **kwargs)[source] -
400 Ошибка запроса.
Один из заголовков в запросе некорректен.
Параметры: Ключевые аргументы: -
headers (dict) –
Словарь
dictимён и значений заголовков, илиlistкортежей (имя, значение). И имя, и значение должны быть типаstrилиStringType, а на платформах, использующих широкие символы, могут использоваться только символы с кодами от 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите возвращать собственные сообщения об ошибках, вы можете создать собственный класс ошибок HTTP и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки для возврата в ответе клиенту (по умолчанию
None). -
href (str) – URL, который можно посетить, чтобы узнать больше информации (по умолчанию
None). Символы Юникода закодированы в процентах. - href_text (str) – Если задан href, использовать его в качестве описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах в службу поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
headers (dict) –
-
exception falcon.HTTPMissingHeader(header_name, **kwargs)[source] -
400 Ошибка запроса
Заголовок отсутствует в запросе.
Параметры: header_name (str) – Имя отсутствующего заголовка.
Ключевые аргументы: -
headers (dict) –
Словарь
dictимён и значений заголовков, илиlistкортежей (имя, значение). И имя, и значение должны быть типаstrилиStringType, а на платформах, использующих широкие символы, могут использоваться только символы с кодами от 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите возвращать собственные сообщения об ошибках, вы можете создать собственный класс ошибок HTTP и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки для возврата в ответе клиенту (по умолчанию
None). -
href (str) – URL, который можно посетить, чтобы узнать больше информации (по умолчанию
None). Символы Юникода закодированы в процентах. - href_text (str) – Если задан href, использовать его в качестве описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах в службу поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
headers (dict) –
-
exception falcon.HTTPInvalidParam(msg, param_name, **kwargs)[source] -
400 Ошибка запроса
Неверный параметр в запросе. Эта ошибка может относиться к параметру в строке запроса, форме или документе, отправленных вместе с запросом.
Параметры: Ключевые аргументы: -
headers (dict) –
A
dictсловарей имен и значений заголовков для установки илиlistкортежей (name, value). И name и value должны быть типаstrилиStringType, и только символьные значения 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он есть, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, которые нужно вернуть в ответе клиенту (по умолчанию
None). -
href (str) – URL, который можно посетить, чтобы узнать больше информации (по умолчанию
None). Символы Юникода кодируются по процентам. - href_text (str) – Если задан href, используйте это как дружественное название/описание ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах поддержки или для поиска статей базы знаний, относящихся к этой ошибке (по умолчанию
None).
-
headers (dict) –
-
exception falcon.HTTPMissingParam(param_name, **kwargs)[source] -
400 Ошибка запроса
Отсутствует параметр в запросе. Эта ошибка может относиться к параметру в строке запроса, форме или документе, отправленных вместе с запросом.
Параметры: param_name (str) – Имя отсутствующего параметра.
Ключевые аргументы: -
headers (dict) –
A
dictсловарей имен и значений заголовков для установки илиlistкортежей (name, value). И name и value должны быть типаstrилиStringType, и только символьные значения 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он есть, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, которые нужно вернуть в ответе клиенту (по умолчанию
None). -
href (str) – URL, который можно посетить, чтобы узнать больше информации (по умолчанию
None). Символы Юникода кодируются по процентам. - href_text (str) – Если задан href, используйте это как дружественное название/описание ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах поддержки или для поиска статей базы знаний, относящихся к этой ошибке (по умолчанию
None).
-
headers (dict) –
-
401 Неавторизован.
Запрос не был применён из-за отсутствия действительных учетных данных для аутентификации для целевого ресурса.
Сервер, генерирующий ответ 401, ДОЛЖЕН отправить поле заголовка WWW-Authenticate, содержащее по крайней мере один вызов, применимый к целевому ресурсу.
Если запрос содержал учетные данные аутентификации, то ответ 401 указывает на отказ в авторизации для этих учетных данных. Пользовательский агент МОЖЕТ повторить запрос с новым или заменённым полем Authorization. Если ответ 401 содержит тот же вызов, что и предыдущий ответ, и пользовательский агент уже пытался выполнить аутентификацию по крайней мере один раз, тогда пользовательский агент ДОЛЖЕН представить заключённое представление пользователю, так как оно обычно содержит релевантную диагностическую информацию.
(См. также: RFC 7235, Раздел 3.1)
Ключевые аргументы: - title (str) – Название ошибки (по умолчанию ‘401 Неавторизован’).
- description (str) – Понятное описание ошибки, вместе с полезным предложением или двумя.
- challenges (iterable of str) – Один или несколько вызовов аутентификации, которые следует использовать в качестве значения заголовка WWW-Authenticate в ответе (см. также RFC 7235, Раздел 2.1).
-
headers (dict) –
A
dictсловарей имен и значений заголовков для установки илиlistкортежей (name, value). И name и value должны быть типаstrилиStringType, и только символьные значения 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он есть, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, которые нужно вернуть в ответе клиенту (по умолчанию
None). -
href (str) – URL, который можно посетить, чтобы узнать больше информации (по умолчанию
None). Символы Юникода кодируются по процентам. - href_text (str) – Если задан href, используйте это как дружественное название/описание ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах поддержки или для поиска статей базы знаний, относящихся к этой ошибке (по умолчанию
None).
-
exception falcon.HTTPForbidden(title=None, description=None, **kwargs)[source] -
403 Запрещено.
Сервер понял запрос, но отказался его авторизовать.
Сервер, желающий объяснить, почему запрос был запрещён, может описать эту причину в полезной нагрузке ответа (если таковая имеется).
Если в запросе были предоставлены учетные данные аутентификации, сервер считает их недостаточными для предоставления доступа. Клиент НЕ ДОЛЖЕН автоматически повторять запрос с теми же учетными данными. Клиент МОЖЕТ повторить запрос с новыми или другими учетными данными. Однако запрос может быть запрещен по причинам, не связанным с учетными данными.
Исходный сервер, желающий «скрыть» текущее существование запрещённого целевого ресурса, может вместо этого ответить кодом состояния 404 Не найдено.
(См. также: RFC 7231, Раздел 6.5.4)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘403 Forbidden’).
- description (str) – Читабельное описание ошибки с полезным советом.
-
headers (dict) –
A
dictсписка имён и значений заголовков для установки, илиlistкортежей (name, value). И name, и value должны быть типаstrилиStringType, а на платформах, использующих широкие символы, могут использоваться только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать свой собственный класс HTTP-ошибок и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки для возврата в ответе клиенту (по умолчанию
None). -
href (str) – URL для получения дополнительной информации (по умолчанию
None). Символы Юникода кодируются по принципу percent-encoding. - href_text (str) – Если href задан, используйте эту строку в качестве дружественного заголовка/описания ссылки (по умолчанию ‘API-документация к этой ошибке’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах в службу поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPNotFound(**kwargs)[source] -
404 Не найдено.
Исходный сервер не нашел текущего представления для целевого ресурса или не желает раскрыть, что такое представление существует.
Код состояния 404 не указывает, является ли отсутствие представления временным или постоянным; предпочтительнее использовать код состояния 410 Gone, если исходный сервер знает (предположительно, через какие-либо настраиваемые средства), что состояние, вероятно, является постоянным.
Ответ с кодом 404 по умолчанию кэшируется, т. е. если это не указано в определении метода или явных настройках кэша.
(См. также: RFC 7231, Раздел 6.5.3)
Ключевые аргументы: -
title (str) – Читабельный заголовок ошибки. Если не указан и
descriptionтакже не указан, тело в ответе не будет включено. -
description (str) – Читабельное описание ошибки с полезным советом (по умолчанию
None). -
headers (dict) –
A
dictсписка имён и значений заголовков для установки, илиlistкортежей (name, value). И name, и value должны быть типаstrилиStringType, а на платформах, использующих широкие символы, могут использоваться только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать свой собственный класс HTTP-ошибок и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки для возврата в ответе клиенту (по умолчанию
None). -
href (str) – URL для получения дополнительной информации (по умолчанию
None). Символы Юникода кодируются по принципу percent-encoding. - href_text (str) – Если href задан, используйте эту строку в качестве дружественного заголовка/описания ссылки (по умолчанию ‘API-документация к этой ошибке’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах в службу поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
title (str) – Читабельный заголовок ошибки. Если не указан и
-
exception falcon.HTTPMethodNotAllowed(allowed_methods, **kwargs)[source] -
405 Метод запрещён.
Метод, полученный в строке запроса, известен исходному серверу, но не поддерживается целевым ресурсом.
Исходный сервер ОБЯЗАН сгенерировать заголовок Allow в ответе 405, содержащий список текущих поддерживаемых методов целевого ресурса.
Ответ с кодом 405 по умолчанию кэшируется, т. е. если это не указано в определении метода или явных настройках кэша.
(См. также: RFC 7231, Раздел 6.5.5)
Параметры: allowed_methods (список строк) – Допустимые HTTP-методы для этого ресурса (например,
['GET', 'POST', 'HEAD']).Ключевые аргументы: -
title (str) – Читабельный заголовок ошибки. Если не указан и
descriptionтакже не указан, тело в ответе не будет включено. -
description (str) – Читабельное описание ошибки с полезным советом (по умолчанию
None). -
headers (dict) –
A
dictсписка имён и значений заголовков для установки, илиlistкортежей (name, value). И name, и value должны быть типаstrилиStringType, а на платформах, использующих широкие символы, могут использоваться только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать свой собственный класс HTTP-ошибок и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки для возврата в ответе клиенту (по умолчанию
None). -
href (str) – URL для получения дополнительной информации (по умолчанию
None). Символы Юникода кодируются по принципу percent-encoding. - href_text (str) – Если href задан, используйте эту строку в качестве дружественного заголовка/описания ссылки (по умолчанию ‘API-документация к этой ошибке’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах в службу поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
title (str) – Читабельный заголовок ошибки. Если не указан и
-
exception falcon.HTTPNotAcceptable(description=None, **kwargs)[source] -
406 Неприемлемо.
У целевого ресурса нет текущего представления, которое было бы приемлемым для пользовательского агента в соответствии с заголовками предварительной обработки, полученными в запросе, и сервер не желает предоставлять стандартное представление.
Сервер ДОЛЖЕН сгенерировать полезную нагрузку, содержащую список доступных характеристик представления и соответствующих идентификаторов ресурсов, из которых пользователь или пользовательский агент могут выбрать наиболее подходящий. Пользовательский агент МОЖЕТ автоматически выбрать наиболее подходящий вариант из этого списка. Однако в этом спецификации не определен стандарт для такого автоматического выбора, как описано в RFC 7231, Раздел 6.4.1
(См. также: RFC 7231, Раздел 6.5.6)
Ключевые аргументы: - description (str) – Человекопонятное описание ошибки, а также полезное предложение или два.
-
headers (dict) –
Словарь пар имя-значение заголовков, которые необходимо установить, или кортеж пар (name, value). И name, и value должны быть типа
strилиStringType, а на платформах, использующих широкие символы, могут использоваться только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, которые необходимо вернуть в ответе клиенту (значение по умолчанию
None). -
href (str) – URL, который можно посетить, чтобы узнать больше информации (значение по умолчанию
None). Символы Юникода кодируются в процентах. - href_text (str) – Если задан href, использовать его в качестве дружественного названия/описания ссылки (значение по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (значение по умолчанию
None).
-
exception falcon.HTTPConflict(title=None, description=None, **kwargs)[source] -
409 Конфликт.
Запрос не может быть выполнен из-за конфликта с текущим состоянием целевого ресурса. Этот код используется в ситуациях, когда пользователь может разрешить конфликт и повторно отправить запрос.
Сервер ДОЛЖЕН сгенерировать полезную нагрузку, содержащую достаточную информацию для пользователя, чтобы распознать источник конфликта.
Конфликты наиболее вероятны при ответе на запрос PUT. Например, если использовалось управление версиями и представление, отправляемое PUT, содержало изменения в ресурсе, которые конфликтуют с изменениями, внесенными более ранним (третьим лицом) запросом, исходный сервер может использовать ответ 409 для указания того, что он не может выполнить запрос. В этом случае представление ответа, вероятно, будет содержать информацию, полезную для объединения различий на основе истории изменений.
(См. также: RFC 7231, Раздел 6.5.8)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘409 Конфликт’).
- description (str) – Человекопонятное описание ошибки, а также полезное предложение или два.
-
headers (dict) –
Словарь пар имя-значение заголовков, которые необходимо установить, или кортеж пар (name, value). И name, и value должны быть типа
strилиStringType, а на платформах, использующих широкие символы, могут использоваться только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, которые необходимо вернуть в ответе клиенту (значение по умолчанию
None). -
href (str) – URL, который можно посетить, чтобы узнать больше информации (значение по умолчанию
None). Символы Юникода кодируются в процентах. - href_text (str) – Если задан href, использовать его в качестве дружественного названия/описания ссылки (значение по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (значение по умолчанию
None).
-
exception falcon.HTTPGone(**kwargs)[source] -
410 Отсутствует.
Запрашиваемый ресурс больше недоступен на сервере источника, и эта ситуация, скорее всего, является постоянной.
Если сервер источника не знает или не может определить, является ли данная ситуация постоянной, следует использовать код состояния 404 Not Found.
Код ответа 410 предназначен в первую очередь для помощи в веб-обслуживании, уведомляя получателя о том, что ресурс намеренно недоступен, и что владельцы сервера хотят, чтобы удалённые ссылки на этот ресурс были удалены. Такое событие часто встречается для ограниченных по времени рекламных услуг и для ресурсов, принадлежащих пользователям, больше не связанным с сайтом сервера источника. Необязательно помечать все постоянно недоступные ресурсы как «отсутствующие» или сохранять эту метку какое-то время – это решается на усмотрение владельца сервера.
Ответ с кодом 410 кешируется по умолчанию; то есть, если не указано иное в определении метода или явных параметрах кеширования.
(См. также: RFC 7231, Раздел 6.5.9)
Ключевые аргументы: -
title (str) – Название ошибки для удобства чтения. Если не указано, и
descriptionтакже не указано, в ответ не будет включено тело. -
description (str) – Читабельное описание ошибки, вместе с полезным предложением или двумя (по умолчанию
None). -
headers (dict) –
Словарь имён и значений заголовков для установки, или кортежи (имя, значение). И имя, и значение должны быть типа
strилиStringType, а на платформах, использующих широкие символы, могут быть использованы только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обработать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, которые будут возвращены в ответе клиенту (по умолчанию
None). -
href (str) – URL, который можно посетить, чтобы получить дополнительную информацию (по умолчанию
None). Символы Юникода закодированы в процентах. - href_text (str) – Если задан href, использовать это значение как дружелюбное заголовок/описание для ссылки (по умолчанию «Документация API для этой ошибки»).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах в службу поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
title (str) – Название ошибки для удобства чтения. Если не указано, и
-
exception falcon.HTTPLengthRequired(title=None, description=None, **kwargs)[source] -
411 Необходима длина.
Сервер отказывается принимать запрос без заданной длины содержимого (Content-Length).
Клиент может повторить запрос, добавив в него корректный заголовок Content-Length, содержащий длину тела сообщения в сообщении запроса.
(См. также: RFC 7231, Раздел 6.5.10)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘411 Необходима длина’).
- description (str) – Читабельное описание ошибки, вместе с полезным предложением или двумя.
-
headers (dict) –
Словарь имён и значений заголовков для установки, или кортежи (имя, значение). И имя, и значение должны быть типа
strилиStringType, а на платформах, использующих широкие символы, могут быть использованы только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обработать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, которые будут возвращены в ответе клиенту (по умолчанию
None). -
href (str) – URL, который можно посетить, чтобы получить дополнительную информацию (по умолчанию
None). Символы Юникода закодированы в процентах. - href_text (str) – Если задан href, использовать это значение как дружелюбное заголовок/описание для ссылки (по умолчанию «Документация API для этой ошибки»).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах в службу поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPPreconditionFailed(title=None, description=None, **kwargs)[source] -
412 Ошибка предшествующего условия.
Одно или несколько условий, указанных в заголовках запроса, при проверке на сервере оказались ложными.
Этот код ответа позволяет клиенту установить предварительные условия для текущего состояния ресурса (его текущие представления и метаданные) и тем самым предотвратить применение метода запроса, если целевой ресурс находится в непредвиденном состоянии.
(См. также: RFC 7232, Раздел 4.2)
Ключевые аргументы: - title (str) – Название ошибки (по умолчанию ‘412 Ошибка предшествующего условия’).
- description (str) – Читабельное описание ошибки, вместе с полезным предложением или двумя.
-
headers (dict) –
Словарь имён и значений заголовков для установки, или кортежи (имя, значение). И имя, и значение должны быть типа
strилиStringType, а на платформах, использующих широкие символы, могут быть использованы только символы с кодами 0x00 до 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обработать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, которые будут возвращены в ответе клиенту (по умолчанию
None). -
href (str) – URL, который можно посетить, чтобы получить дополнительную информацию (по умолчанию
None). Символы Юникода закодированы в процентах. - href_text (str) – Если задан href, использовать это значение как дружелюбное заголовок/описание для ссылки (по умолчанию «Документация API для этой ошибки»).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах в службу поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPRequestEntityTooLarge(title=None, description=None, retry_after=None, **kwargs)[source] -
413 Запрос содержит слишком много данных.
Сервер отказывается обрабатывать запрос, потому что размер загружаемых данных превышает допустимый лимит.
Сервер может закрыть подключение, чтобы предотвратить продолжение запроса клиентом.
Если условие временное, сервер должен сгенерировать заголовок Retry-After, чтобы указать, что оно временное, и через какое время клиент может повторить попытку.
(См. также: RFC 7231, Раздел 6.5.11)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘413 Request Entity Too Large’).
- description (str) – Пользовательское описание ошибки, включая полезные рекомендации.
-
retry_after (datetime или int) – Значение для заголовка Retry-After. Если объект
datetime, он будет сериализован как HTTP-дата. В противном случае ожидается неотрицательное значениеint, представляющее количество секунд ожидания. -
headers (dict) –
Словарь имен и значений заголовков для установки, или кортежи (name, value). И name, и value должны быть типа
strилиStringType, и только символьные значения от 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он есть, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента.
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, возвращаемые в ответе клиенту (по умолчанию
None). -
href (str) – URL, который можно посетить для получения дополнительной информации (по умолчанию
None). Символы Юникода кодируются в процентах. - href_text (str) – Если задан href, использовать эту строку в качестве описания ссылки (по умолчанию «Документация API для этой ошибки»).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPUriTooLong(title=None, description=None, **kwargs)[source] -
414 URI Слишком Длинный.
Сервер отказывается обслуживать запрос, так как целевой URI слишком длинный.
Это редкое условие, которое, вероятно, возникает только когда клиент неправильно конвертировал POST-запрос в GET-запрос с длинной информацией запроса, когда клиент попал в «чёрную дыру» редиректов (например, URI префикс, который указывает на суффикс самого себя) или когда сервер подвергается атаке клиента, пытающегося использовать потенциальные уязвимости.
Ответ 414 кэшируется по умолчанию, то есть, если не указано иначе в определении метода или явных кэширующих настройках.
(См. также: RFC 7231, Раздел 6.5.12)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘414 URI Too Long’).
-
description (str) – Пользовательское описание ошибки, включая полезные рекомендации (по умолчанию
None). -
headers (dict) –
Словарь имен и значений заголовков для установки, или кортежи (name, value). И name, и value должны быть типа
strилиStringType, и только символьные значения от 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он есть, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента.
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, возвращаемые в ответе клиенту (по умолчанию
None). -
href (str) – URL, который можно посетить для получения дополнительной информации (по умолчанию
None). Символы Юникода кодируются в процентах. - href_text (str) – Если задан href, использовать эту строку в качестве описания ссылки (по умолчанию «Документация API для этой ошибки»).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPUnsupportedMediaType(description=None, **kwargs)[source] -
415 Неподдерживаемый Тип Среды.
Исходный сервер отказывается обслуживать запрос, так как данные имеют формат, не поддерживаемый данным методом для целевого ресурса.
Проблема формата может быть связана с указанным в запросе заголовком Content-Type или Content-Encoding, или результатом непосредственного анализа данных.
(См. также: RFC 7231, Раздел 6.5.13)
Ключевые аргументы: - description (str) – Пользовательское описание ошибки, включая полезные рекомендации.
-
headers (dict) –
Словарь имен и значений заголовков для установки, или кортежи (name, value). И name, и value должны быть типа
strилиStringType, и только символьные значения от 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он есть, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента.
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, возвращаемые в ответе клиенту (по умолчанию
None). -
href (str) – URL, который можно посетить для получения дополнительной информации (по умолчанию
None). Символы Юникода кодируются в процентах. - href_text (str) – Если задан href, использовать эту строку в качестве описания ссылки (по умолчанию «Документация API для этой ошибки»).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPRangeNotSatisfiable(resource_length)[source] -
416 Диапазон не удовлетворён.
Ни один из диапазонов в поле Range запроса не перекрывает текущий объём выбранного ресурса, или набор запрошенных диапазонов был отклонен из-за неверных диапазонов или чрезмерного запроса малых или перекрывающихся диапазонов.
Для байтовых диапазонов отсутствие перекрытия с текущим объёмом означает, что значение first-byte-pos для всех байтовых диапазонов было больше текущей длины выбранного представления. Если этот код состояния генерируется в ответ на запрос байтового диапазона, отправитель ДОЛЖЕН сгенерировать поле заголовка Content-Range, определяющее текущую длину выбранного представления.
(См. также: RFC 7233, Раздел 4.4)
Параметры: resource_length – Максимальное значение для last-byte-pos запроса диапазона. Используется для установки заголовка Content-Range.
-
exception falcon.HTTPUnprocessableEntity(title=None, description=None, **kwargs)[source] -
422 Необрабатываемый контент.
Сервер понимает тип содержимого запрошенного объекта (следовательно, код состояния 415 Неподдерживаемый тип носителя не подходит), и синтаксис запрошенного объекта корректен (поэтому код состояния 400 Ошибка запроса не подходит), но не смог обработать содержащиеся инструкции.
Например, такая ошибка может возникнуть, если тело запроса в формате XML содержит хорошо сформированные (т. е. синтаксически корректные), но семантически ошибочные инструкции XML.
(См. также: RFC 4918, Раздел 11.2)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘422 Необрабатываемый контент’).
- description (str) – Понятное для человека описание ошибки, вместе с полезным советом или двумя.
-
headers (dict) –
Словарь имен и значений заголовков для установки, или кортежи (имя, значение). И имя, и значение должны быть типа
strилиStringType, и только символы 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибок и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки для возврата в ответе клиенту (по умолчанию
None). -
href (str) – URL, который пользователь может посетить, чтобы узнать больше информации (по умолчанию
None). Символы Unicode закодированы в процентах. - href_text (str) – Если задан href, используйте это в качестве дружественного названия/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPLocked(title=None, description=None, **kwargs)[source] -
423 Заблокировано.
Код состояния 423 (Заблокировано) означает, что источник или пункт назначения ресурса для метода заблокированы. Этот ответ ДОЛЖЕН содержать соответствующий код предопределения или последействия, такой как ‘lock-token-submitted’ или ‘no-conflicting-lock’.
(См. также: RFC 4918, Раздел 11.3)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘423 Заблокировано’).
- description (str) – Понятное для человека описание ошибки, вместе с полезным советом или двумя.
-
headers (dict) –
Словарь имен и значений заголовков для установки, или кортежи (имя, значение). И имя, и значение должны быть типа
strилиStringType, и только символы 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибок и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки для возврата в ответе клиенту (по умолчанию
None). -
href (str) – URL, который пользователь может посетить, чтобы узнать больше информации (по умолчанию
None). Символы Unicode закодированы в процентах. - href_text (str) – Если задан href, используйте это в качестве дружественного названия/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPFailedDependency(title=None, description=None, **kwargs)[source] -
424 Ошибка зависимости.
Код состояния 424 (Ошибка зависимости) означает, что метод не смог быть выполнен на ресурсе, потому что запрашиваемое действие зависело от другого действия, которое завершилось ошибкой.
(См. также: RFC 4918, Раздел 11.4)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘424 Ошибка зависимости’).
- description (str) – Понятное для человека описание ошибки, вместе с полезным советом или двумя.
-
headers (dict) –
Словарь имен и значений заголовков для установки, или кортежи (имя, значение). И имя, и значение должны быть типа
strилиStringType, и только символы 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибок и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки для возврата в ответе клиенту (по умолчанию
None). -
href (str) – URL, который пользователь может посетить, чтобы узнать больше информации (по умолчанию
None). Символы Unicode закодированы в процентах. - href_text (str) – Если задан href, используйте это в качестве дружественного названия/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPPreconditionRequired(title=None, description=None, **kwargs)[source] -
428 Необходимое условие предварительной обработки.
Код состояния 428 указывает, что исходный сервер требует, чтобы запрос был условным.
Типичное применение — для предотвращения проблемы «потерянного обновления», когда клиент получает состояние ресурса, изменяет его и отправляет его обратно на сервер, в то время как третья сторона изменила состояние на сервере, что приводит к конфликту. Требуя, чтобы запросы были условными, сервер может гарантировать, что клиенты работают с правильными копиями.
Ответы, использующие этот код состояния, ДОЛЖНЫ объяснять, как повторно отправить запрос успешно.
(См. также: RFC 6585, Раздел 3)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘428 Необходимое условие предварительной обработки’).
- description (str) – Понятное для пользователя описание ошибки, а также полезное предложение или два.
-
headers (dict) –
Словарь пар имя-значение для установки заголовков, или кортежи (name, value). И name, и value должны быть типа
strилиStringType, и только символы 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он есть, будет перезаписан. Если вы хотите возвращать пользовательские сообщения об ошибках, вы можете создать собственный класс ошибок HTTP и установить обработчик ошибок, чтобы преобразовать его в соответствующий ответ HTTP для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки для возврата в ответе клиенту (по умолчанию
None). -
href (str) – URL для получения дополнительной информации (по умолчанию
None). Символы Юникода закодированы по процентам. - href_text (str) – Если задан href, используйте его в качестве дружественного заголовка/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросе поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPTooManyRequests(title=None, description=None, retry_after=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) –
Словарь пар имя-значение для установки заголовков, или кортежи (name, value). И name, и value должны быть типа
strилиStringType, и только символы 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он есть, будет перезаписан. Если вы хотите возвращать пользовательские сообщения об ошибках, вы можете создать собственный класс ошибок HTTP и установить обработчик ошибок, чтобы преобразовать его в соответствующий ответ HTTP для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки для возврата в ответе клиенту (по умолчанию
None). -
href (str) – URL для получения дополнительной информации (по умолчанию
None). Символы Юникода закодированы по процентам. - href_text (str) – Если задан href, используйте его в качестве дружественного заголовка/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросе поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPRequestHeaderFieldsTooLarge(title=None, description=None, **kwargs)[source] -
431 Заголовок запроса слишком велик.
Код состояния 431 указывает, что сервер не желает обрабатывать запрос, так как его заголовки слишком велики. Запрос МОЖЕТ быть повторен после уменьшения размера заголовков запроса.
Он может использоваться как когда набор заголовков запроса в целом слишком большой, так и когда виноват отдельный заголовок. В последнем случае представление ответа ДОЛЖНО указывать, какой заголовок был слишком велик.
Ответы со статусом 431 НЕ ДОЛЖНЫ храниться в кэше.
(См. также: RFC 6585, Раздел 5)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘431 Заголовок запроса слишком велик’).
- description (str) – Понятное для пользователя описание превышенного лимита скорости.
-
headers (dict) –
Словарь пар имя-значение для установки заголовков, или кортежи (name, value). И name, и value должны быть типа
strилиStringType, и только символы 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он есть, будет перезаписан. Если вы хотите возвращать пользовательские сообщения об ошибках, вы можете создать собственный класс ошибок HTTP и установить обработчик ошибок, чтобы преобразовать его в соответствующий ответ HTTP для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки для возврата в ответе клиенту (по умолчанию
None). -
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) –
A
dictиз имён и значений заголовков для установки, или alistиз кортежей (name, value). И name, и value должны быть типаstrилиStringType, и только символьные значения от 0x00 до 0xFF могут использоваться на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет переопределён. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс ошибки HTTP и установить обработчик ошибок для его преобразования в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, возвращаемые в ответе клиенту (по умолчанию
None). -
href (str) – URL, на который можно перейти, чтобы получить больше информации (по умолчанию
None). Символы Unicode закодированы в процентах. - href_text (str) – Если задан href, используйте это как дружелюбный заголовок/описание для ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах поддержки или для поиска статей базы знаний, связанных с данной ошибкой (по умолчанию
None).
-
exception falcon.HTTPInternalServerError(title=None, description=None, **kwargs)[source] -
500 Внутренняя ошибка сервера.
Сервер столкнулся с непредвиденной ситуацией, которая помешала ему выполнить запрос.
(См. также: RFC 7231, Раздел 6.6.1)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘500 Внутренняя ошибка сервера’).
- description (str) – Читабельное для человека описание ошибки, вместе с полезным советом или двумя.
-
headers (dict) –
A
dictиз имён и значений заголовков для установки, или alistиз кортежей (name, value). И name, и value должны быть типаstrилиStringType, и только символьные значения от 0x00 до 0xFF могут использоваться на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет переопределён. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс ошибки HTTP и установить обработчик ошибок для его преобразования в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, возвращаемые в ответе клиенту (по умолчанию
None). -
href (str) – URL, на который можно перейти, чтобы получить больше информации (по умолчанию
None). Символы Unicode закодированы в процентах. - href_text (str) – Если задан href, используйте это как дружелюбный заголовок/описание для ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в своих запросах поддержки или для поиска статей базы знаний, связанных с данной ошибкой (по умолчанию
None).
-
exception falcon.HTTPBadGateway(title=None, description=None, **kwargs)[source] -
502 Плохой шлюз.
Сервер, действуя как шлюз или прокси, получил недопустимый ответ от входящего сервера, к которому он обратился при попытке выполнить запрос.
(См. также: RFC 7231, Раздел 6.6.3)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘502 Плохой шлюз’).
- description (str) – Читабельное для человека описание ошибки, вместе с полезным советом или двумя.
-
headers (dict) –
A
dictиз имён и значений заголовков для установки, или alistиз кортежей (name, value). И name, и value должны быть типаstrилиStringType, и только символьные значения от 0x00 до 0xFF могут использоваться на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет переопределён. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс ошибки HTTP и установить обработчик ошибок для его преобразования в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, возвращаемые в ответе клиенту (по умолчанию
None). -
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) –
A
dictсловаря имён и значений заголовков для установки, илиlistкортежей (name, value). И name, и value должны быть типаstrилиStringType, и только символьные значения от 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет переопределён. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, которые будут возвращены в ответ клиенту (по умолчанию
None). -
href (str) – URL, который можно посетить для получения дополнительной информации (по умолчанию
None). Символы Юникода закодированы в процентах. - href_text (str) – Если задан href, используйте его в качестве дружественного заголовка/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут указать в своих запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPInsufficientStorage(title=None, description=None, **kwargs)[source] -
507 Недостаточно памяти.
Статусный код 507 (Недостаточно памяти) означает, что метод не может быть выполнен над ресурсом, потому что сервер не может сохранить представление, необходимое для успешного выполнения запроса. Это условие считается временным. Если запрос, получивший этот статусный код, был результатом действия пользователя, запрос НЕЛЬЗЯ повторять до тех пор, пока он не будет вызван отдельным действием пользователя.
(См. также: RFC 4918, Раздел 11.5)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘507 Недостаточно памяти’).
- description (str) – Пользовательское описание ошибки, вместе с полезным советом или двумя.
-
headers (dict) –
A
dictсловаря имён и значений заголовков для установки, илиlistкортежей (name, value). И name, и value должны быть типаstrилиStringType, и только символьные значения от 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет переопределён. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, которые будут возвращены в ответ клиенту (по умолчанию
None). -
href (str) – URL, который можно посетить для получения дополнительной информации (по умолчанию
None). Символы Юникода закодированы в процентах. - href_text (str) – Если задан href, используйте его в качестве дружественного заголовка/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут указать в своих запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPLoopDetected(title=None, description=None, **kwargs)[source] -
508 Обнаружен цикл.
Статусный код 508 (Обнаружен цикл) указывает, что сервер завершил операцию, потому что при обработке запроса с «Глубина: бесконечность» был обнаружен бесконечный цикл. Этот статус указывает, что вся операция завершилась неудачей.
(См. также: RFC 5842, Раздел 7.2)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘508 Обнаружен цикл’).
- description (str) – Пользовательское описание ошибки, вместе с полезным советом или двумя.
-
headers (dict) –
A
dictсловаря имён и значений заголовков для установки, илиlistкортежей (name, value). И name, и value должны быть типаstrилиStringType, и только символьные значения от 0x00 до 0xFF могут быть использованы на платформах, использующих широкие символы.Примечание
Заголовок Content-Type, если он присутствует, будет переопределён. Если вы хотите вернуть пользовательские сообщения об ошибках, вы можете создать собственный класс HTTP-ошибки и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, которые будут возвращены в ответ клиенту (по умолчанию
None). -
href (str) – URL, который можно посетить для получения дополнительной информации (по умолчанию
None). Символы Юникода закодированы в процентах. - href_text (str) – Если задан href, используйте его в качестве дружественного заголовка/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут указать в своих запросах поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
-
exception falcon.HTTPNetworkAuthenticationRequired(title=None, description=None, **kwargs)[source] -
511 Требуется сетевая аутентификация.
Код состояния 511 указывает на то, что клиенту необходимо пройти аутентификацию для получения сетевого доступа.
Представление ответа ДОЛЖНО содержать ссылку на ресурс, который позволяет пользователю отправить учетные данные.
Обратите внимание, что ответ со статусом 511 НЕ ДОЛЖЕН содержать вызов или сам интерфейс аутентификации, так как клиенты могут отображать интерфейс как связанный с первоначально запрошенным URL-адресом, что может вызвать путаницу.
Код состояния 511 НЕ ДОЛЖЕН генерироваться серверами-источниками; он предназначен для использования перехватывающими прокси-серверами, которые используются в качестве средства управления доступом к сети.
Ответы со статусом 511 НЕ ДОЛЖНЫ сохраняться кэшем.
(См. также: RFC 6585, раздел 6)
Ключевые аргументы: - title (str) – Заголовок ошибки (по умолчанию ‘511 Требуется сетевая аутентификация’).
- description (str) – Читабельное описание ошибки для человека, а также полезное предложение или два.
-
headers (dict) –
Словарь имён и значений заголовков для установки или кортеж (name, value). И name, и value должны быть типа
strилиStringType, а на платформах с широкими символами можно использовать только символы с 0x00 по 0xFF.Примечание
Заголовок Content-Type, если он присутствует, будет переопределён. Если вы хотите возвращать пользовательские сообщения об ошибках, вы можете создать свой собственный класс HTTP-ошибки и установить обработчик ошибок для преобразования его в соответствующий HTTP-ответ для клиента
Примечание
Falcon может обрабатывать список
tupleнемного быстрее, чемdict. -
headers – Дополнительные заголовки, которые должны быть возвращены в ответе клиенту (по умолчанию
None). -
href (str) – URL, который можно посетить, чтобы получить дополнительную информацию (по умолчанию
None). Символы Юникода кодируются в процентах. - href_text (str) – Если href задан, используйте эту строку в качестве дружественного заголовка/описания ссылки (по умолчанию ‘Документация API для этой ошибки’).
-
code (int) – Внутренний код, который клиенты могут использовать в запросах в службу поддержки или для поиска статей базы знаний, связанных с этой ошибкой (по умолчанию
None).
© 2012–2016 by Rackspace Hosting, Inc. and other contributors
Licensed under the Apache License, Version 2.0.
https://falcon.readthedocs.io/en/1.2.0/api/errors.html