Spec-Zone.ru › Falcon 1.4

Обработка ошибок

При обработке ошибок вы всегда можете непосредственно задать статус ошибки, соответствующие заголовки ответа и тело ошибки, используя объект 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

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 или 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=<type '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, **kwargs) [source]

400 Ошибка запроса.

Сервер не может или не будет обрабатывать запрос из-за того, что воспринимается как ошибка клиента (например, неверный синтаксис запроса, некорректная структура сообщения запроса или вводящая в заблуждение маршрутизация запроса).

(См. также: RFC 7231, Раздел 6.5.1)

Ключевые аргументы:
  • title (str) – Заголовок ошибки (по умолчанию ‘400 Ошибка запроса’).
  • description (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).
exception falcon.HTTPInvalidHeader(msg, header_name, **kwargs) [source]

400 Ошибка запроса.

Один из заголовков в запросе некорректен.

Параметры:
  • msg (str) – Описание причины некорректности значения.
  • 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).
exception falcon.HTTPMissingHeader(header_name, **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).
exception falcon.HTTPInvalidParam(msg, param_name, **kwargs) [source]

400 Ошибка запроса

Неверный параметр в запросе. Эта ошибка может относиться к параметру в строке запроса, форме или документе, отправленном вместе с запросом.

Параметры:
  • msg (str) – Описание неверного параметра.
  • param_name (str) – Название параметра.
Ключевые аргументы:
  • headers (dict или список) –

    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.HTTPMissingParam(param_name, **kwargs) [source]

400 Ошибка запроса

Отсутствует параметр в запросе. Эта ошибка может относиться к параметру в строке запроса, форме или документе, отправленном вместе с запросом.

Параметры:

param_name (str) – Название отсутствующего параметра.

Ключевые аргументы:
  • headers (dict или список) –

    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.HTTPUnauthorized(title=None, description=None, challenges=None, **kwargs) [source]

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 или список) –

    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.HTTPForbidden(title=None, description=None, **kwargs) [source]

403 Запрещено.

Сервер понял запрос, но отказывается его авторизовать.

Сервер, желающий объяснить, почему запрос был запрещен, может описать причину в полезной нагрузке ответа (если таковая имеется).

Если в запросе были предоставлены учетные данные аутентификации, сервер считает их недостаточными для предоставления доступа. Клиент НЕ должен автоматически повторять запрос с теми же учетными данными. Клиент МОЖЕТ повторить запрос с новыми или другими учетными данными. Однако запрос может быть запрещен по причинам, не связанным с учетными данными.

Оригинальный сервер, желающий «скрыть» текущее существование запрещенного целевого ресурса, может вместо этого ответить с кодом состояния 404 «Не найдено».

(См. также: RFC 7231, раздел 6.5.4)

Ключевые аргументы:
  • title (str) – Заголовок ошибки (по умолчанию «403 Запрещено»).
  • description (str) – Человекопонятное описание ошибки, а также полезное предложение или два.
  • headers (dict or list) –

    A dict имён и значений заголовков для установки, или a 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.HTTPNotFound(**kwargs) [source]

404 Не найдено.

Оригинальный сервер не обнаружил текущее представление для целевого ресурса или не желает раскрывать, что оно существует.

Код состояния 404 не указывает, является ли это отсутствие представления временным или постоянным; код состояния 410 Gone предпочтительнее 404, если исходный сервер знает, предположительно, посредством каких-то настраиваемых средств, что ситуация, скорее всего, является постоянной.

Ответ 404 по умолчанию кешируется; то есть, если не указано иное определением метода или явными настройками кеша.

(См. также: RFC 7231, раздел 6.5.3)

Ключевые аргументы:
  • title (str) – Человекопонятное заголовок ошибки. Если не предоставлено, и description также не предоставлено, тело ответа не будет включено.
  • description (str) – Человекопонятное описание ошибки, а также полезное предложение или два (по умолчанию None).
  • headers (dict or list) –

    A dict имён и значений заголовков для установки, или a 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.HTTPMethodNotAllowed(allowed_methods, **kwargs) [source]

405 Метод запрещен.

Метод, полученный в строке запроса, известен исходному серверу, но не поддерживается целевым ресурсом.

Исходный сервер ОБЯЗАН сгенерировать заголовок Allow в ответе 405, содержащий список поддерживаемых в данный момент методов целевого ресурса.

Ответ 405 по умолчанию кешируется; то есть, если не указано иное определением метода или явными настройками кеша.

(См. также: RFC 7231, раздел 6.5.5)

Параметры:

allowed_methods (list of str) – Разрешённые HTTP-методы для этого ресурса (например, ['GET', 'POST', 'HEAD']).

Ключевые аргументы:
  • title (str) – Человекопонятное заголовок ошибки. Если не предоставлено, и description также не предоставлено, тело ответа не будет включено.
  • description (str) – Человекопонятное описание ошибки, а также полезное предложение или два (по умолчанию None).
  • headers (dict or list) –

    A dict имён и значений заголовков для установки, или a list пар (имя, значение). И имя, и значение должны быть типа str или StringType, а на платформах, использующих широкие символы, могут использоваться только символы с кодами 0x00 до 0xFF.

    Примечание

    Заголовок Content-Type, если он присутствует, будет перезаписан. Если вы хотите возвращать пользовательские сообщения об ошибках, вы можете создать собственный класс ошибки HTTP и установить обработчик ошибок, чтобы преобразовать его в соответствующий HTTP-ответ для клиента

    Примечание

    Falcon может обрабатывать список tuple немного быстрее, чем dict.

  • href (str) – URL, который пользователь может посетить, чтобы получить дополнительную информацию (по умолчанию None). Символы Юникода закодированы в процентах.
  • href_text (str) – Если указан href, используйте его в качестве удобочитаемого заголовка/описания ссылки (по умолчанию «Документация API для этой ошибки»).
  • code (int) – Внутренний код, который клиенты могут использовать в своих запросах в службу поддержки или при поиске статей базы знаний, связанных с этой ошибкой (по умолчанию None).
END_OF_DOCUMENT_MARKER
exception falcon.HTTPNotAcceptable(description=None, **kwargs) [source]

406 Неприемлемо.

Ресурс не имеет текущего представления, которое было бы приемлемо для пользователя, согласно заголовкам согласования, полученным в запросе, и сервер не хочет предоставить стандартное представление.

Сервер ДОЛЖЕН сгенерировать полезную нагрузку, содержащую список доступных характеристик представления и соответствующих идентификаторов ресурсов, из которых пользователь или пользовательский агент могут выбрать наиболее подходящий. Пользовательский агент МОЖЕТ автоматически выбрать наиболее подходящий вариант из этого списка. Однако данная спецификация не определяет никакого стандарта для такого автоматического выбора, как описано в RFC 7231, Раздел 6.4.1

(См. также: RFC 7231, Раздел 6.5.6)

Ключевые аргументы:
  • description (str) – Человекопонятное описание ошибки, вместе с полезным советом или двумя.
  • headers (dict или список) –

    Словарь (или список) пар имя-значение заголовков, которые необходимо установить. И имя, и значение должны быть типа 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.HTTPConflict(title=None, description=None, **kwargs) [source]

409 Конфликт.

Запрос не может быть завершен из-за конфликта с текущим состоянием целевого ресурса. Этот код используется в ситуациях, когда пользователь может разрешить конфликт и повторно отправить запрос.

Сервер ДОЛЖЕН сгенерировать полезную нагрузку, содержащую достаточную информацию для того, чтобы пользователь мог распознать причину конфликта.

Конфликты чаще всего возникают в ответ на запрос PUT. Например, если используется версия, и представление, которое передается через PUT, включает изменения в ресурс, которые конфликтуют с теми, которые были внесены ранее (третьей стороной) запросом, исходный сервер может использовать ответ 409, чтобы указать, что он не может выполнить запрос. В этом случае представление ответа, скорее всего, будет содержать информацию, полезную для слияния различий на основе истории ревизий.

(См. также: RFC 7231, Раздел 6.5.8)

Ключевые аргументы:
  • title (str) – Заголовок ошибки (по умолчанию «409 Конфликт»).
  • description (str) – Человекопонятное описание ошибки, вместе с полезным советом или двумя.
  • headers (dict или список) –

    Словарь (или список) пар имя-значение заголовков, которые необходимо установить. И имя, и значение должны быть типа 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.HTTPGone(**kwargs) [source]

410 Ушло.

Ресурс больше недоступен на сервере источнике, и это состояние, скорее всего, постоянное.

Если сервер источника не знает или не имеет возможности определить, является ли состояние постоянным или нет, следует использовать код состояния 404 Не найдено.

Ответ 410 в первую очередь предназначен для поддержки задач технического обслуживания веб-сайтов, уведомляя получателя о том, что ресурс намеренно недоступен, и что владельцы сервера желают удалить удалённые ссылки на этот ресурс. Такое событие часто встречается для сервисов с ограниченным сроком действия, промоакций и для ресурсов, принадлежащих лицам, больше не связанным с сайтом сервера источника. Не обязательно помечать все постоянно недоступные ресурсы как «ушедшие» или сохранять метку на какой-либо срок — это решается на усмотрение владельца сервера.

Ответ 410 кэшируется по умолчанию; то есть, если не указано иначе в определении метода или явных настройках кэша.

(См. также: RFC 7231, раздел 6.5.9)

Ключевые аргументы:
  • title (str) – Название ошибки, понятное для человека. Если не указано, и description также не указано, тело ответа не будет включено.
  • description (str) – Понятное для человека описание ошибки, вместе с полезным советом или двумя (по умолчанию None).
  • headers (dict or 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.HTTPLengthRequired(title=None, description=None, **kwargs) [source]

411 Требуется длина.

Сервер отказывается принимать запрос без определения Content-Length.

Клиент может повторить запрос, добавив в него заголовок Content-Length с длиной тела сообщения в запросе.

(См. также: RFC 7231, раздел 6.5.10)

Ключевые аргументы:
  • title (str) – Название ошибки (по умолчанию ‘411 Требуется длина’).
  • description (str) – Понятное для человека описание ошибки, вместе с полезным советом или двумя.
  • headers (dict or 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.HTTPPreconditionFailed(title=None, description=None, **kwargs) [source]

412 Не выполнено условие.

Одно или несколько условий, указанных в заголовках запроса, дали ложное значение при проверке на сервере.

Этот код ответа позволяет клиенту установить условия относительно текущего состояния ресурса (его текущих представлений и метаданных) и, таким образом, предотвратить применение метода запроса, если целевой ресурс находится в непредвиденном состоянии.

(См. также: RFC 7232, раздел 4.2)

Ключевые аргументы:
  • title (str) – Название ошибки (по умолчанию ‘412 Не выполнено условие’).
  • description (str) – Понятное для человека описание ошибки, вместе с полезным советом или двумя.
  • headers (dict or 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.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 или список) –

    Словарь или список пар (имя, значение) для установки заголовков. И имя, и значение должны быть типа 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.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 или список) –

    Словарь или список пар (имя, значение) для установки заголовков. И имя, и значение должны быть типа 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.HTTPUnsupportedMediaType(description=None, **kwargs) [source]

415 Неподдерживаемый Тип Среды.

Оригинальный сервер отказывается обрабатывать запрос, так как тип данных в теле запроса не поддерживается данным методом для целевого ресурса.

Проблема с типом данных может быть связана с указанным в запросе Content-Type или Content-Encoding, или быть результатом проверки данных непосредственно.

(См. также: RFC 7231, Раздел 6.5.13)

Ключевые аргументы:
  • description (str) – Описание ошибки для пользователя с полезными рекомендациями.
  • headers (dict или список) –

    Словарь или список пар (имя, значение) для установки заголовков. И имя, и значение должны быть типа 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.HTTPRangeNotSatisfiable(resource_length) [source]

416 Диапазон не удовлетворяется.

Ни один из диапазонов в поле заголовка запроса Range не перекрывает текущий объем выбранного ресурса, или набор запрошенных диапазонов отклонен из-за недопустимых диапазонов или чрезмерного запроса небольших или перекрывающихся диапазонов.

Для байтовых диапазонов, при отсутствии перекрытия с текущим объёмом, означает, что первый байт всех значений byte-range-spec был больше текущей длины выбранного представления. Когда этот код состояния генерируется в ответ на запрос байтового диапазона, отправитель ДОЛЖЕН сгенерировать поле заголовка Content-Range, указывающее текущую длину выбранного представления.

(См. также: RFC 7233, Раздел 4.4)

Параметры: resource_length – Максимальное значение для последнего байта в запросе диапазона. Используется для установки заголовка 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 или 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, **kwargs) [source]

423 Заблокировано.

Код состояния 423 (Заблокировано) означает, что исходный или целевой ресурс метода заблокирован. Этот ответ ДОЛЖЕН содержать соответствующий код предварительного или последующего условия, такой как ‘lock-token-submitted’ или ‘no-conflicting-lock’.

(См. также: RFC 4918, Раздел 11.3)

Ключевые аргументы:
  • title (str) – Заголовок ошибки (по умолчанию ‘423 Заблокировано’).
  • 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.HTTPFailedDependency(title=None, description=None, **kwargs) [source]

424 Неудачная зависимость.

Код состояния 424 (Неудачная зависимость) означает, что метод не может быть выполнен с ресурсом, потому что запрошенное действие зависело от другого действия, а это действие не удалось.

(См. также: RFC 4918, Раздел 11.4)

Ключевые аргументы:
  • title (str) – Заголовок ошибки (по умолчанию ‘424 Неудачная зависимость’).
  • 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.HTTPPreconditionRequired(title=None, description=None, **kwargs) [source]

428 Требование предварительного условия.

Код состояния 428 указывает, что исходный сервер требует, чтобы запрос был условным.

Типичное использование — для предотвращения проблемы «потерянного обновления», когда клиент получает состояние ресурса, изменяет его и отправляет его обратно на сервер, в то время как третья сторона изменила состояние на сервере, что приводит к конфликту. Требование условных запросов позволяет серверу гарантировать, что клиенты работают с правильными копиями.

Ответы, использующие этот код состояния, ДОЛЖНЫ объяснять, как повторно отправить запрос успешно.

(См. также: RFC 6585, раздел 3)

Ключевые аргументы:
  • title (str) – Заголовок ошибки (по умолчанию ‘428 Требование предварительного условия’).
  • description (str) – Понятное описание ошибки, а также полезное предложение или два.
  • headers (dict или список) –

    Словарь (или список) пар имён и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа 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.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 или список) –

    Словарь (или список) пар имён и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа 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.HTTPRequestHeaderFieldsTooLarge(title=None, description=None, **kwargs) [source]

431 Слишком много заголовков запроса.

Код состояния 431 указывает, что сервер не желает обрабатывать запрос из-за слишком больших заголовков. Запрос МОЖЕТ быть повторно отправлен после уменьшения размера заголовков запроса.

Он может быть использован как когда весь набор заголовков запроса слишком большой, так и когда виновен отдельный заголовок. В последнем случае представление ответа ДОЛЖНО указывать, какой заголовок был слишком большим.

Ответы со статусом 431 НЕ ДОЛЖНЫ храниться кэшем.

(См. также: RFC 6585, раздел 5)

Ключевые аргументы:
  • title (str) – Заголовок ошибки (по умолчанию ‘431 Слишком много заголовков запроса’).
  • description (str) – Понятное описание превышенного лимита скорости.
  • headers (dict или список) –

    Словарь (или список) пар имён и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа 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.HTTPUnavailableForLegalReasons(title=None, **kwargs) [source]

451 Недоступно по причинам, связанным с правом.

Сервер отказывается предоставить доступ к ресурсу в результате юридического требования.

Сервер, о котором идет речь, может не быть исходным сервером. Этот тип юридического требования, как правило, в первую очередь затрагивает работу интернет-провайдеров и поисковых систем.

Ответы, использующие этот код состояния, ДОЛЖНЫ содержать в теле ответа пояснение деталей юридического требования: сторону, его предъявившую, применимое законодательство или нормативный акт, а также к каким категориям лиц и ресурсов оно относится.

Обратите внимание, что во многих случаях клиенты все еще могут получить доступ к запрещенному ресурсу, используя технические меры противодействия, такие как VPN или сеть Tor.

Ответ с кодом 451 кэшируется по умолчанию; т. е., если не указано иное определением метода или явными настройками кэша.

(См. также: RFC 7725, Раздел 3)

Ключевые аргументы:
  • title (str) – Заголовок ошибки (по умолчанию ‘451 Недоступно по причинам, связанным с правом’).
  • 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).
exception falcon.HTTPInternalServerError(title=None, description=None, **kwargs) [source]

500 Внутренняя ошибка сервера.

Сервер столкнулся с непредвиденной ситуацией, которая помешала ему обработать запрос.

(См. также: RFC 7231, Раздел 6.6.1)

Ключевые аргументы:
  • title (str) – Заголовок ошибки (по умолчанию ‘500 Внутренняя ошибка сервера’).
  • 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.HTTPNotImplemented(title=None, description=None, **kwargs) [source]

501 Не реализовано.

Код состояния 501 (Не реализовано) указывает, что сервер не поддерживает функциональность, необходимую для выполнения запроса. Это соответствующий ответ, когда сервер не распознает метод запроса и не способен его поддерживать для любого ресурса.

Ответ с кодом 501 кэшируется по умолчанию; т. е., если не указано иное определением метода или явными настройками кэша, как описано в RFC 7234, Раздел 4.2.2.

(См. также: RFC 7231, Раздел 6.6.2)

Ключевые аргументы:
  • title (str) – Заголовок ошибки (по умолчанию ‘500 Внутренняя ошибка сервера’).
  • 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.HTTPBadGateway(title=None, description=None, **kwargs) [source]

502 Плохой шлюз.

Сервер, действуя как шлюз или прокси, получил недопустимый ответ от сервера, к которому он обращался для выполнения запроса.

(См. также: RFC 7231, Раздел 6.6.3)

Ключевые аргументы:
  • title (str) – Заголовок ошибки (по умолчанию ‘502 Bad Gateway’).
  • description (str) – Человекопонятное описание ошибки, вместе с полезными рекомендациями.
  • headers (dict или список) –

    Словарь (или список) имён и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа 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.HTTPServiceUnavailable(title=None, description=None, retry_after=None, **kwargs) [source]

503 Сервис недоступен.

В настоящее время сервер не может обработать запрос из-за временного перегрузки или запланированного технического обслуживания, что, вероятно, будет устранено после некоторой задержки.

Сервер МОЖЕТ отправить заголовок Retry-After, чтобы предложить подходящее время ожидания клиенту перед повторной попыткой запроса.

Примечание: существование кода состояния 503 не означает, что сервер должен его использовать при перегрузке. Некоторые серверы могут просто отклонить соединение.

(См. также: RFC 7231, Раздел 6.6.4)

Ключевые аргументы:
  • title (str) – Заголовок ошибки (по умолчанию ‘503 Service Unavailable’).
  • description (str) – Человекопонятное описание ошибки, вместе с полезными рекомендациями.
  • retry_after (datetime или int) – Значение для заголовка Retry-After. Если объект datetime, будет сериализован как HTTP-дата. В противном случае ожидается неотрицательное целое число int, представляющее количество секунд ожидания.
  • headers (dict или список) –

    Словарь (или список) имён и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа 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, **kwargs) [source]

504 Таймаут шлюза.

Код состояния 504 (Таймаут шлюза) указывает, что сервер, действуя как шлюз или прокси, не получил своевременного ответа от сервера, к которому необходимо обратиться для выполнения запроса.

(См. также: RFC 7231, Раздел 6.6.5)

Ключевые аргументы:
  • title (str) – Заголовок ошибки (по умолчанию ‘503 Сервис недоступен’).
  • description (str) – Человекопонятное описание ошибки, вместе с полезными рекомендациями.
  • headers (dict или список) –

    Словарь (или список) имён и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа 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.HTTPVersionNotSupported(title=None, description=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 или список) –

    Словарь пар имён и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа 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.HTTPInsufficientStorage(title=None, description=None, **kwargs) [source]

507 Недостаточно памяти.

Код состояния 507 (Недостаточно памяти) означает, что метод не мог быть выполнен для ресурса, потому что сервер не может сохранить представление, необходимое для успешного выполнения запроса. Это условие считается временным. Если запрос, который получил этот код состояния, был результатом действия пользователя, запрос НЕ ДОЛЖЕН повторяться, пока он не будет запрошен отдельным действием пользователя.

(См. также: RFC 4918, раздел 11.5)

Ключевые аргументы:
  • title (str) – Заголовок ошибки (по умолчанию ‘507 Недостаточно памяти’).
  • description (str) – Читабельное описание ошибки для человека, вместе с полезным советом или двумя.
  • headers (dict или список) –

    Словарь пар имён и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа 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, **kwargs) [source]

508 Цикл обнаружен.

Код состояния 508 (Цикл обнаружен) указывает, что сервер завершил операцию, потому что во время обработки запроса с «Глубина: бесконечность» был обнаружен бесконечный цикл. Этот статус указывает, что вся операция завершилась неудачей.

(См. также: RFC 5842, раздел 7.2)

Ключевые аргументы:
  • title (str) – Заголовок ошибки (по умолчанию ‘508 Цикл обнаружен’).
  • description (str) – Читабельное описание ошибки для человека, вместе с полезным советом или двумя.
  • headers (dict или список) –

    Словарь пар имён и значений заголовков для установки, или список кортежей (имя, значение). И имя, и значение должны быть типа 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, **kwargs) [source]

Требуется сетевая аутентификация (код 511).

Код состояния 511 указывает на то, что клиенту необходимо пройти аутентификацию для получения сетевого доступа.

Представление ответа ДОЛЖНО содержать ссылку на ресурс, позволяющий пользователю отправить учетные данные.

Обратите внимание, что ответ с кодом 511 НЕ ДОЛЖЕН содержать запрос или сам интерфейс аутентификации, потому что клиенты могут отобразить интерфейс как связанный с первоначально запрошенным URL, что может вызвать путаницу.

Код 511 НЕ ДОЛЖЕН генерироваться серверами-источниками; он предназначен для использования прокси-серверами, которые вставлены в качестве средства управления доступом к сети.

Ответы с кодом состояния 511 НЕ ДОЛЖНЫ храниться в кэше.

(См. также: RFC 6585, Раздел 6)

Ключевые аргументы:
  • title (str) – Заголовок ошибки (по умолчанию ‘Требуется сетевая аутентификация (код 511)’).
  • 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).

© 2012–2017 by Rackspace Hosting, Inc. and other contributors
Licensed under the Apache License, Version 2.0.
https://falcon.readthedocs.io/en/1.4.1/api/errors.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API