当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python wsgiref.validate.validator用法及代码示例


用法:

wsgiref.validate.validator(application)

application并返回一个新的 WSGI 应用程序对象。返回的应用程序会将所有请求转发给原始应用程序application, 并将检查两者application并且调用它的服务器符合 WSGI 规范和RFC 2616.

任何检测到的不符合项都会引发AssertionError;但是请注意,如何处理这些错误是server-dependent。例如,wsgiref.simple_server 和其他基于wsgiref.handlers 的服务器(不覆盖错误处理方法来做其他事情)将简单地输出一条错误发生的消息,并将回溯转储到sys.stderr 或一些其他错误流。

这个包装器也可以使用warnings模块来指示有问题但实际上可能未被禁止的行为 PEP 3333.除非使用 Python 命令行 选项或warningsAPI,任何此类警告都将写入sys.stderr(not wsgi.errors,除非它们碰巧是同一个对象)。

示例用法:

from wsgiref.validate import validator
from wsgiref.simple_server import make_server

# Our callable object which is intentionally not compliant to the
# standard, so the validator is going to break
def simple_app(environ, start_response):
    status = '200 OK'  # HTTP Status
    headers = [('Content-type', 'text/plain')]  # HTTP Headers
    start_response(status, headers)

    # This is going to break because we need to return a list, and
    # the validator is going to inform us
    return b"Hello World"

# This is the application wrapped in a validator
validator_app = validator(simple_app)

with make_server('', 8000, validator_app) as httpd:
    print("Listening on port 8000....")
    httpd.serve_forever()

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 wsgiref.validate.validator。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。