- 首先实现一个web server
http_server.py - 接下来要实现WSGI server了
- application:WSGI协议规定application只能这样:
application.py
- application:WSGI协议规定application只能这样:
def simple_app(environ, start_response):# 一个可调用对象,定义了call的类也可以。取名随意。
'''
@param environ:dict,包含了很多http相关的环境变量
@param start_response:一个函数,第一个参数是状态,第二个参数是http header的一部分
@return: 一个可迭代对象
'''
pass
```
* middleware: 中间件的作用就是在server 拿到请求数据给 application 前如果想做一些处理或者验证等等功能,这时候 middleware 就派上用场了,当然你愿意的话也可以写在你的 server 里,只是 wsgi 规范更建议把这些写在中间件里,下面我来实现一个检查请求'User-Agent'是否为正常浏览器,不是就把请求拒绝掉的中间件:
middleware.py
* server:
网友评论