多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
django框架的中间件给我的感受是非常强大,简直无所不能。 所以我就想参照django的中间件造一个bottle的中间件,有一个难题是bottle的相关文档太少,而要造成django那样子的中间件的话,bottle的角色就该只负责路由和封装请求数据和封装返回数据,但是有一点非常重要,就是bottle不能向浏览器输出内容,如果我们用bottle的wsgi方法是会输出到浏览器的。 不过经过分析它的wsgi函数发现了,它内部的处理函数_handle和_cast。 我们只需要调用这两个函数就可以拿到bottle输出结果,再通过全局的response对象就可以拿到状态码和headers。 由于源码还在不断修改中,所以给出自己项目写的中间件: [https://github.com/yubang/app/blob/master/lib/middle.py](https://github.com/yubang/app/blob/master/lib/middle.py)