cherrypy._cpwsgi模块¶
WSGI接口(参见PEP 333和3333)。
请注意,WSGI环境键和值是“原生字符串”;也就是说,无论“”的类型是什么。对于Python2,这是一个字节字符串;对于Python3,这是一个Unicode字符串。但是PEP3333说:“即使Python的字符串类型实际上是Unicode,”在幕后“,原生字符串的内容必须仍然可以通过拉丁文-1编码转换成字节!”
- class cherrypy._cpwsgi.AppResponse(environ, start_response, cpapp)[源代码]¶
基类:
object
CherryPy应用程序可迭代的WSGI响应。
- headerNames = {'CONTENT_LENGTH': 'Content-Length', 'CONTENT_TYPE': 'Content-Type', 'HTTP_CGI_AUTHORIZATION': 'Authorization', 'REMOTE_ADDR': 'Remote-Addr', 'REMOTE_HOST': 'Remote-Host'}¶
- class cherrypy._cpwsgi.CPWSGIApp(cpapp, pipeline=None)[源代码]¶
基类:
object
CherryPy应用程序的WSGI应用程序对象。
- config = {}¶
键与管道中列出的名称匹配的字典。每个值都是另一个DICT,它将作为关键字参数传递给相应的命名WSGI Callable(从管道)。
- head = None¶
不是在每次调用时嵌套管道中的所有应用程序,而是只在第一次执行,结果会被记录到self.head中。如果在调用self之后更改self.Pipeline,请再次将其设置为None。
- pipeline = [('ExceptionTrapper', <class 'cherrypy._cpwsgi.ExceptionTrapper'>), ('InternalRedirector', <class 'cherrypy._cpwsgi.InternalRedirector'>)]¶
(name,wsgiapp)对的列表。每个“wsgiapp”必须是一个构造函数,该构造函数接受初始的位置“nextapp”参数,外加可选的关键字参数,并返回WSGI应用程序(接受environ和start_response参数)。“name”可以是您选择的任何名称,并且将与self.config中的键相对应。
- class cherrypy._cpwsgi.ExceptionTrapper(nextapp, throws=(<class 'KeyboardInterrupt'>, <class 'SystemExit'>))[源代码]¶
基类:
object
捕获异常的WSGI中间件。
- class cherrypy._cpwsgi.InternalRedirector(nextapp, recursive=False)[源代码]¶
基类:
object
处理引发的cherrypy.InternalRedirect的WSGI中间件。
- class cherrypy._cpwsgi.VirtualHost(default, domains=None, use_x_forwarded_host=True)[源代码]¶
基类:
object
根据Host标头选择不同的WSGI应用程序。
当在一台CP服务器中运行多个站点时,这会很有用。它允许多个域指向不同的应用程序。例如::
root = Root() RootApp = cherrypy.Application(root) Domain2App = cherrypy.Application(root) SecureApp = cherrypy.Application(Secure()) vhost = cherrypy._cpwsgi.VirtualHost( RootApp, domains={ 'www.domain2.example': Domain2App, 'www.domain2.example:443': SecureApp, }, ) cherrypy.tree.graft(vhost)
- default = None¶
必填项。默认的WSGI应用程序。
- domains = {}¶
应用程序}对。在此DICT中查找传入的“Host”请求头,如果找到匹配项,则将调用相应的WSGI应用程序,而不是默认的WSGI应用程序。请注意,“example.com”和“www.example.com”通常需要单独的条目。此外,“Host”报头可能包含端口号。
- 类型
{主机标头值}的字典
- use_x_forwarded_host = True¶
如果为True(默认值),将使用任何“X-Forwarded-Host”请求标头而不是“Host”标头。这通常由HTTP服务器(如Apache)在代理时添加。