错误处理

当涉及到错误处理时,始终可以使用 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:
    def on_get(self, req, resp):

        # -- snip --

        raise falcon.HTTPBadRequest(
            title="TTL Out of Range",
            description="The message's TTL must be between 60 and 300 seconds, inclusive."
        )

        # -- snip --

还要注意,任何异常(不仅仅是 HTTPError )通过注册一个或多个自定义错误处理程序,可以在全局级别捕获、记录和处理。另请参见 add_error_handler() 了解有关此功能的更多信息。

备注

默认情况下,任何未捕获的异常都将返回一个http500响应,并将异常的详细信息记录到 wsgi.errors .

基本类

class falcon.HTTPError(status, title=None, description=None, headers=None, href=None, href_text=None, code=None)[源代码]

表示通用HTTP错误。

引发的实例或子类 HTTPError 要让Falcon在出错时向客户机返回格式化的错误响应和适当的HTTP状态代码。默认情况下,支持JSON和XML媒体类型。

若要自定义错误表示形式,请实现自定义错误序列化程序并将其设置在 App 实例通过 set_error_serializer()

要自定义传递给序列化程序的数据,子类 HTTPError 并覆盖 to_dict() 方法 (to_json() 通过以下方式实现 to_dict() )。若要同时支持XML,请重写 to_xml() 方法。

备注

status 是唯一允许的位置参数,其他参数应仅用作关键字。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

参数:

status (Union[str,int]) -- HTTP状态代码或行(例如, '400 Bad Request' )。可以将其设置为以下成员 http.HTTPStatus 、HTTP状态行串或字节串(例如, '200 OK' ),或一个 int

关键字参数:
  • title (str) -- 人性化错误标题。如果未提供,则默认为由 status 争论。

  • description (str) -- 对错误的人性化描述,以及一个或两个有用的建议(默认 None

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/描述(默认为“此错误的应用程序文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

status

HTTP状态代码或行(例如, '200 OK' )。可以将其设置为以下项的成员 http.HTTPStatus HTTP状态行串或字节串(例如, '200 OK' ),或一个 int

类型:

友联市 [str,int]

status_code

标准化的HTTP状态代码 status 参数传递给初始值设定项。

类型:

利息

title

发送到客户端的错误标题。

类型:

STR

description

要发送到客户端的错误的描述。

类型:

STR

headers

要添加到响应中的额外头。

类型:

双关语

客户端可以提供给用户以获取帮助的Href。

类型:

STR

code

用户在请求错误支持时可以引用的内部应用程序代码。

类型:

利息

to_dict(obj_type=<class 'dict'>)[源代码]

返回表示错误的基本字典。

当将错误序列化为类似散列的媒体类型(如yaml、json和messagepack)时,此方法非常有用。

参数:

obj_type -- 将用于存储错误信息的类似dict的类型(默认 dict

返回:

用错误的标题、描述等填充的字典。

返回类型:

dict

to_json(handler=None)[源代码]

返回错误的JSON表示。

参数:

handler -- 将用于将此错误的表示序列化为JSON的处理程序对象。如果未提供,将使用使用内置JSON库的默认处理程序(默认 None )。

返回:

错误的JSON文档。

返回类型:

bytes

to_xml()[源代码]

返回错误的XML编码表示形式。

返回:

错误的XML文档。

返回类型:

bytes

预定义错误

class falcon.HTTPBadRequest(title=None, description=None, headers=None, **kwargs)[源代码]

400错误请求。

服务器无法或将不会处理请求,因为某些东西被认为是客户端错误(例如,错误的请求语法、无效的请求消息帧或欺骗的请求路由)。

(另见: RFC 7231, Section 6.5.1

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认为“400错误请求”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPInvalidHeader(msg, header_name, headers=None, **kwargs)[源代码]

400错误请求。

请求中的一个头无效。

备注

msgheader_name 是唯一允许的位置参数,其他参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

参数:
  • msg (str) -- 说明值无效的原因。

  • header_name (str) -- 无效头的名称。

关键字参数:
  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPMissingHeader(header_name, headers=None, **kwargs)[源代码]

400错误请求。

请求中缺少标题。

备注

header_name 是唯一允许的位置参数,其他参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

参数:

header_name (str) -- 缺少的头的名称。

关键字参数:
  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPInvalidParam(msg, param_name, headers=None, **kwargs)[源代码]

400错误请求。

请求中的参数无效。此错误可能引用随请求提交的查询字符串、表单或文档中的参数。

备注

msgparam_name 是唯一允许的位置参数,其他参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

参数:
  • msg (str) -- 无效参数的说明。

  • param_name (str) -- 参数的名称。

关键字参数:
  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPMissingParam(param_name, headers=None, **kwargs)[源代码]

400错误请求。

请求中缺少参数。此错误可能引用随请求提交的查询字符串、表单或文档中的参数。

备注

param_name 是唯一允许的位置参数,其他参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

参数:

param_name (str) -- 缺少参数的名称。

关键字参数:
  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPUnauthorized(title=None, description=None, headers=None, challenges=None, **kwargs)[源代码]

401未经授权。

请求尚未应用,因为它缺少目标资源的有效身份验证凭据。

生成401响应的服务器必须发送包含至少一个适用于目标资源的质询的www-authenticate头字段。

如果请求包含身份验证凭据,则401响应表示已拒绝对这些凭据进行授权。用户代理可以使用新的或替换的授权头字段重复请求。如果401响应包含与先前响应相同的质询,并且用户代理已经至少尝试了一次身份验证,那么用户代理应该向用户提供所附的表示,因为它通常包含相关的诊断信息。

(另见: RFC 7235, Section 3.1

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认为“401 Unauthorized”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • challenges (iterable of str) -- 用作响应中的WWW-Authenticate标头的值的一个或多个身份验证质询。。。注意:WWW-Authenticate in标头的现有值将被此值覆盖(另请参阅: RFC 7235, Section 2.1 )

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPForbidden(title=None, description=None, headers=None, **kwargs)[源代码]

403禁止。

服务器理解请求,但拒绝授权。

希望公开禁止请求的原因的服务器可以在响应负载(如果有)中描述该原因。

如果请求中提供了身份验证凭据,则服务器认为它们不足以授予访问权限。客户端不应使用相同的凭据自动重复请求。客户端可以使用新的或不同的凭据重复请求。但是,由于与凭据无关的原因,可能会禁止请求。

希望“隐藏”当前存在的禁止目标资源的源服务器可能会以404未找到的状态代码响应。

(另见: RFC 7231, Section 6.5.4

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认为“403禁止”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPNotFound(title=None, description=None, headers=None, **kwargs)[源代码]

404未找到。

源服务器找不到目标资源的当前表示,或者不愿意公开该表示存在。

404状态代码并不表示这种表示的缺失是暂时的还是永久的;如果源服务器大概通过一些可配置的方法知道状态可能是永久的,那么410消失的状态代码比404更好。

404响应在默认情况下是可缓存的;即,除非方法定义或显式缓存控件另有指示。

(另见: RFC 7231, Section 6.5.3

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 人性化错误标题。如果没有提供,以及 description 也不提供,响应中不包含任何主体。

  • description (str) -- 对错误的人性化描述,以及一个或两个有用的建议(默认 None

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPRouteNotFound(title=None, description=None, headers=None, **kwargs)[源代码]

404未找到。

该请求与为应用程序配置的任何路由都不匹配。

的这个子类 HTTPNotFound 由框架引发,以便在没有与请求匹配的路由时提供默认的404响应。可以通过为注册自定义错误处理程序来自定义此行为 HTTPRouteNotFound

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 人性化错误标题。如果没有提供,以及 description 也不提供,响应中不包含任何主体。

  • description (str) -- 对错误的人性化描述,以及一个或两个有用的建议(默认 None

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPMethodNotAllowed(allowed_methods, title=None, description=None, headers=None, **kwargs)[源代码]

不允许使用405方法。

在请求行中接收到的方法是源服务器已知的,但目标资源不支持。

源服务器必须在405响应中生成一个允许头字段,其中包含目标资源当前支持的方法的列表。

405响应在默认情况下是可缓存的;即,除非方法定义或显式缓存控件另有指示。

(另见: RFC 7231, Section 6.5.5

备注

allowed_methods 是唯一允许的位置参数,其他参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

参数:

allowed_methods (list of str) -- 该资源允许的HTTP方法(例如, ['GET', 'POST', 'HEAD'] )。。。注意:如果以前设置,允许响应头将被此值覆盖。

关键字参数:
  • title (str) -- 人性化错误标题。如果没有提供,以及 description 也不提供,响应中不包含任何主体。

  • description (str) -- 对错误的人性化描述,以及一个或两个有用的建议(默认 None

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPNotAcceptable(title=None, description=None, headers=None, **kwargs)[源代码]

406不可接受。

根据在请求中收到的主动协商头字段,目标资源没有用户代理可以接受的当前表示,并且服务器不愿意提供默认表示。

服务器应该生成一个有效负载,其中包含可用表示特征列表和相应的资源标识符,用户或用户代理可以从中选择最合适的一个。用户代理可以从该列表中自动选择最合适的选项。但是,本规范没有为此类自动选择定义任何标准,如中所述。 RFC 7231, Section 6.4.1

(另见: RFC 7231, Section 6.5.6

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPConflict(title=None, description=None, headers=None, **kwargs)[源代码]

409冲突。

由于与目标资源的当前状态冲突,无法完成请求。此代码用于用户可能能够解决冲突并重新提交请求的情况。

服务器应该生成一个有效负载,其中包含足够的信息,以便用户识别冲突源。

冲突最有可能发生在对Put请求的响应中。例如,如果正在使用版本控制,并且所放置的表示包含对资源的更改,这些更改与早期(第三方)请求所做的更改冲突,则源服务器可能会使用409响应来指示它无法完成请求。在这种情况下,响应表示可能包含有用的信息,用于根据修订历史合并差异。

(另见: RFC 7231, Section 6.5.8

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认“409冲突”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPGone(title=None, description=None, headers=None, **kwargs)[源代码]

410不见了。

目标资源在源服务器上不再可用,并且这种情况可能是永久性的。

如果源服务器不知道,或者没有工具来确定条件是否是永久的,那么应该使用状态代码404 Not Found代替。

410响应的主要目的是通过通知接收者资源有意不可用,并且服务器所有者希望删除到该资源的远程链接来帮助Web维护任务。这种事件在有限的时间、促销服务和属于不再与源服务器站点关联的个人的资源中很常见。不必将所有永久不可用的资源标记为“已消失”,也不必将标记保留任何时间长度——这由服务器所有者自行决定。

410响应在默认情况下是可缓存的;即,除非方法定义或显式缓存控件另有指示。

(另见: RFC 7231, Section 6.5.9

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 人性化错误标题。如果没有提供,以及 description 也不提供,响应中不包含任何主体。

  • description (str) -- 对错误的人性化描述,以及一个或两个有用的建议(默认 None

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPLengthRequired(title=None, description=None, headers=None, **kwargs)[源代码]

要求411长度。

服务器拒绝接受没有定义内容长度的请求。

如果客户端添加了一个有效的Content-Length头字段,其中包含请求消息中消息正文的长度,则客户端可以重复请求。

(另见: RFC 7231, Section 6.5.10

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认“需要411长度”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPPreconditionFailed(title=None, description=None, headers=None, **kwargs)[源代码]

412前提条件失败。

在服务器上测试时,请求头字段中给定的一个或多个条件的计算结果为假。

此响应代码允许客户端在当前资源状态(其当前表示形式和元数据)上放置前提条件,从而防止在目标资源处于意外状态时应用请求方法。

(另见: RFC 7232, Section 4.2

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认“412前置条件失败”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPPayloadTooLarge(title=None, description=None, retry_after=None, headers=None, **kwargs)[源代码]

413有效载荷太大。

服务器拒绝处理请求,因为请求负载大于服务器愿意或能够处理的负载。

服务器可能会关闭连接以阻止客户端继续请求。

如果条件是临时的,服务器应该生成一个retry-after头字段,以指示它是临时的,并且在什么时候客户端可以重试。

(另见: RFC 7231, Section 6.5.11

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认“413负载太大”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • retry_after (datetime or int) -- Rtry-After标头的值。如果一个 datetime 对象,将序列化为HTTP日期。否则,非负的 int 是预期的,表示等待的秒数。。。注意:标头中的Rtry-After的现有值将被此值覆盖

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPUriTooLong(title=None, description=None, headers=None, **kwargs)[源代码]

414 URI太长。

服务器拒绝为请求提供服务,因为请求目标比服务器愿意解释的时间长。

这种罕见的情况只有当客户端不正确地将POST请求转换为带有长查询信息的GET请求时,或者当客户端下降到重定向的“黑洞”时(例如,指向自身后缀的重定向URI前缀),或者当服务器卸载时才可能发生。试图利用潜在安全漏洞的客户机攻击。

414响应在默认情况下是可缓存的;即,除非方法定义或显式缓存控件另有指示。

(另见: RFC 7231, Section 6.5.12

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认“414 URI太长”)。

  • description (str) -- 对错误的人性化描述,以及一个或两个有用的建议(默认 None

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPUnsupportedMediaType(title=None, description=None, headers=None, **kwargs)[源代码]

415不支持的媒体类型。

源服务器拒绝为请求提供服务,因为目标资源上的有效负载的格式不受此方法支持。

格式问题可能是由于请求所指示的内容类型或内容编码,或者直接检查数据造成的。

(另见: RFC 7231, Section 6.5.13

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认为‘415不支持的媒体类型’)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPRangeNotSatisfiable(resource_length, title=None, description=None, headers=None, **kwargs)[源代码]

416范围不可满足。

请求的“范围标题”字段中的任何范围都不会与所选资源的当前范围重叠,或者由于范围无效或对小范围或重叠范围的过度请求而拒绝了请求的范围集。

对于字节范围,未能重叠当前范围意味着所有字节范围规范值的第一个字节位置大于所选表示的当前长度。当响应字节范围请求生成此状态代码时,发送方应生成一个内容范围标题字段,指定所选表示的当前长度。

(另见: RFC 7233, Section 4.4

备注

resource_length 是唯一允许的位置参数,其他参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

参数:

resource_length -- 范围请求的最后一个字节位置的最大值。用于设置内容范围标头。。。注意:标题中的Content-Range的现有值将被此值覆盖

关键字参数:
  • title (str) -- 错误标题(默认为‘416范围不能满足’)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPUnprocessableEntity(title=None, description=None, headers=None, **kwargs)[源代码]

422个不可加工实体。

服务器了解请求实体的内容类型(因此415个不支持的媒体类型状态代码不合适),请求实体的语法正确(因此400个错误的请求状态代码不合适),但无法处理包含的指令。

例如,如果XML请求主体包含格式良好(即语法正确)但语义错误的XML指令,则可能发生此错误情况。

(另见: RFC 4918, Section 11.2

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认为“422不可处理实体”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPLocked(title=None, description=None, headers=None, **kwargs)[源代码]

423已锁定。

423(锁定)状态代码表示方法的源或目标资源被锁定。此响应应包含适当的前提条件或后置条件代码,例如“已提交锁令牌”或“没有冲突的锁”。

(另见: RFC 4918, Section 11.3

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认“423锁定”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPFailedDependency(title=None, description=None, headers=None, **kwargs)[源代码]

424依赖失败。

424(失败依赖项)状态代码表示无法在资源上执行该方法,因为请求的操作依赖于另一个操作,而该操作失败。

(另见: RFC 4918, Section 11.4

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认“424失败依赖项”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPPreconditionRequired(title=None, description=None, headers=None, **kwargs)[源代码]

需要428前提条件。

428状态代码表示源服务器要求请求是有条件的。

它的典型用途是避免“丢失更新”问题,即当第三方修改服务器上的状态时,客户机获取资源的状态,对其进行修改,并将其放回服务器,从而导致冲突。通过要求请求是有条件的,服务器可以确保客户机使用正确的副本。

使用此状态代码的响应应解释如何成功重新提交请求。

(另见: RFC 6585, Section 3

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认“需要428前提条件”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPTooManyRequests(title=None, description=None, headers=None, retry_after=None, **kwargs)[源代码]

429请求太多。

用户在给定的时间内发送了太多请求(“速率限制”)。

响应表示应该包括解释条件的详细信息,并且可能包括一个retry-after头,指示在发出新请求之前等待多长时间。

带有429状态代码的响应不能由缓存存储。

(另见: RFC 6585, Section 4

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认“429请求太多”)。

  • description (str) -- 超出速率限制的人性化描述。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • retry_after (datetime or int) -- Rtry-After标头的值。如果一个 datetime 对象,将序列化为HTTP日期。否则,非负的 int 是预期的,表示等待的秒数。。。注意:标头中的Rtry-After的现有值将被此值覆盖

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPRequestHeaderFieldsTooLarge(title=None, description=None, headers=None, **kwargs)[源代码]

431请求头字段太大。

431状态代码表示服务器不愿意处理请求,因为它的头字段太大。在减小请求头字段的大小后,可以重新提交请求。

它既可以在请求头字段集合太大时使用,也可以在单个头字段出现故障时使用。在后一种情况下,响应表示应该指定哪个头字段太大。

具有431状态代码的响应不能由缓存存储。

(另见: RFC 6585, Section 5

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认“431请求头字段太大”)。

  • description (str) -- 超出速率限制的人性化描述。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPUnavailableForLegalReasons(title=None, description=None, headers=None, **kwargs)[源代码]

451因法律原因不可用。

由于法律要求,服务器拒绝访问资源。

有问题的服务器可能不是源服务器。这类法律要求通常最直接地影响互联网服务提供商和搜索引擎的运营。

使用此状态代码的答复应包括答复机构对法律要求的详细说明:提出要求的一方、适用的法律或法规以及适用的人员和资源类别。

请注意,在许多情况下,客户机仍然可以使用技术对策(如VPN或ToR网络)访问被拒绝的资源。

451响应在默认情况下是可缓存的;即,除非方法定义或显式缓存控件另有指示。

(另见: RFC 7725, Section 3

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认“451因法律原因不可用”)。

  • description (str) -- 对错误的人性化描述,以及一个或两个有用的建议(默认 None

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPInternalServerError(title=None, description=None, headers=None, **kwargs)[源代码]

500内部服务器错误。

服务器遇到意外情况,无法完成请求。

(另见: RFC 7231, Section 6.6.1

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认为“500内部服务器错误”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPNotImplemented(title=None, description=None, headers=None, **kwargs)[源代码]

501未实施。

501(未实现)状态代码表示服务器不支持完成请求所需的功能。当服务器无法识别请求方法并且无法为任何资源支持它时,这是适当的响应。

501响应在默认情况下是可缓存的;即,除非方法定义或中描述的显式缓存控件另有指示 RFC 7234, Section 4.2.2.

(另见: RFC 7231, Section 6.6.2

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认为“500内部服务器错误”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPBadGateway(title=None, description=None, headers=None, **kwargs)[源代码]

502坏网关。

服务器作为网关或代理时,从其在尝试完成请求时访问的入站服务器接收到无效响应。

(另见: RFC 7231, Section 6.6.3

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认为“502坏网关”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPServiceUnavailable(title=None, description=None, headers=None, retry_after=None, **kwargs)[源代码]

503服务不可用。

由于临时过载或计划的维护,服务器当前无法处理请求,这可能会在延迟后得到缓解。

服务器可以在头字段后发送重试,以建议客户端在重试请求之前等待适当的时间。

注意:503状态代码的存在并不意味着服务器在过载时必须使用它。有些服务器可能只是拒绝连接。

(另见: RFC 7231, Section 6.6.4

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认“503服务不可用”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • retry_after (datetime or int) -- Rtry-After标头的值。如果一个 datetime 对象,将序列化为HTTP日期。否则,非负的 int 是预期的,表示等待的秒数。。。注意:标头中的Rtry-After的现有值将被此值覆盖

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPGatewayTimeout(title=None, description=None, headers=None, **kwargs)[源代码]

504网关超时。

504(网关超时)状态代码表示服务器在充当网关或代理时,没有从上游服务器收到及时响应,该服务器需要访问才能完成请求。

(另见: RFC 7231, Section 6.6.5

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认“503服务不可用”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPVersionNotSupported(title=None, description=None, headers=None, **kwargs)[源代码]

不支持505 HTTP版本。

505(HTTP版本不受支持)状态代码表示服务器不支持或拒绝支持请求消息中使用的HTTP主版本。服务器表示它无法或不愿意使用与客户端相同的主版本完成请求(如中所述 RFC 7230, Section 2.6 ,但不包含此错误消息。服务器应该为505响应生成一个表示,描述为什么不支持该版本以及该服务器支持哪些其他协议。

(另见: RFC 7231, Section 6.6.6

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认“503服务不可用”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPInsufficientStorage(title=None, description=None, headers=None, **kwargs)[源代码]

507存储不足。

507(存储不足)状态代码表示无法在资源上执行该方法,因为服务器无法存储成功完成请求所需的表示。这种情况被认为是暂时的。如果收到此状态代码的请求是用户操作的结果,则在单独的用户操作请求之前,不得重复该请求。

(另见: RFC 4918, Section 11.5

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认“507存储不足”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPLoopDetected(title=None, description=None, headers=None, **kwargs)[源代码]

检测到508个循环。

508(检测到循环)状态代码表示服务器在处理“深度:无限”请求时遇到无限循环,因此终止了操作。此状态表示整个操作失败。

(另见: RFC 5842, Section 7.2

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(检测到默认的“508循环”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.HTTPNetworkAuthenticationRequired(title=None, description=None, headers=None, **kwargs)[源代码]

511需要网络身份验证。

511状态代码表示客户端需要进行身份验证才能获得网络访问。

响应表示形式应包含一个指向允许用户提交凭据的资源的链接。

请注意,511响应不应包含质询或身份验证接口本身,因为客户端会将该接口显示为与最初请求的URL关联,这可能会导致混淆。

511状态不应由源服务器生成;它用于截取作为控制网络访问的手段插入的代理。

具有511状态代码的响应不能由缓存存储。

(另见: RFC 6585, Section 6

备注

所有参数应仅作为关键字传递。将它们用作位置参数将引发弃用警告,并将导致Falcon的未来版本出现错误。

关键字参数:
  • title (str) -- 错误标题(默认“需要511网络身份验证”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.MediaNotFoundError(media_type, **kwargs)[源代码]

400错误请求。

媒体处理程序在尝试分析空正文时引发异常。

备注

一些媒体处理程序,比如用于URL编码表单的媒体处理程序,允许空的正文。在这些情况下,不会引发此例外。

参数:

media_type (str) -- 预期的媒体类型。

关键字参数:
  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.MediaMalformedError(media_type, **kwargs)[源代码]

400错误请求。

媒体处理程序在尝试分析格式错误的正文时引发异常。此异常的原因(如果有)存储在 __cause__ 属性,在引发时使用“RAISE.FROM”表单。

参数:

media_type (str) -- 预期的媒体类型。

关键字参数:
  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None

class falcon.MediaValidationError(*, title=None, description=None, headers=None, **kwargs)[源代码]

400错误请求。

请求的媒体无效。此异常由媒体验证器(如 jsonschema.validate )何时 req.media 已成功反序列化,但无法根据配置的架构进行验证。

此异常的原因(如果有)存储在 __cause__ 属性,在引发时使用“RAISE.FROM”表单。

备注

所有参数只能作为关键字传递。

关键字参数:
  • title (str) -- 错误标题(默认为“400错误请求”)。

  • description (str) -- 对错误的人性化描述,以及一两个有用的建议。

  • headers (dict or list) -- A dict 要设置的标题名称和值,或 list 的( name价值 )元组。两者都有 name价值 必须是类型 strStringType ,并且只能在使用宽字符的平台上使用字符值0x00到0xFF。我是说…注意:内容类型头(如果存在)将被重写。如果希望返回自定义错误消息,可以创建自己的HTTP错误类,并安装错误处理程序以将其转换为客户端的适当HTTP响应。注意:Falcon可以处理 tuple 比A快一点 dict .

  • href (str) -- 有人可以访问的用于查找更多信息的URL(默认 None )。Unicode字符是百分比编码的。

  • href_text (str) -- 如果给定了HREF,请将其用作链接的友好标题/说明(此错误的默认“API文档”)。

  • code (int) -- 客户可以在其支持请求中引用或在搜索与此错误相关的知识库文章时提供帮助的内部代码(默认 None