Python中实现WSGI的框架

Python中实现WSGI的框架
Python中实现WSGI的框架

1、说明

Application类对WSGI又做了一层简单的封装,由于上面说过WSGI函数返回的是一个可以迭代对象,所以需要实现一个__iter__方法,里面控制了客户端的请求路由并且返回不同的输出。

2、实例

from wsgiref.simple_server import make_server
 
class Application(object):
 
    def __init__(self, environ, start_response):
        self.start_response = start_response
        self.path = environ['PATH_INFO']
 
    def __iter__(self):
        if self.path == '/':
            status = '200 OK'
            response_headers = [('Content-type', 'text/html')]
            self.start_response(status, esponse_headers)
            yield '<h1>Hello,World!</h1>'.encode('utf-8')
 
        elif self.path == '/wsgi':
            status = '200 OK'
            response_headers = [('Content-type', 'text/html')]
            self.start_response(status, response_headers)
            yield '<h1>Hello,WSGI!</h1>'.encode('utf-8')
 
        else:
            status = '404 NOT FOUND'
            response_headers = [('Content-type', 'text/html')]
            self.start_response(status, response_headers)
            yield '<h1>404 NOT FOUND</h1>'.encode('utf-8')
 
if __name__ == "__main__":
    app = make_server('127.0.0.1', 8000, Application)
    print('Serving HTTP on port 8000...')
    app.serve_forever()

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注