大家来分享和讨论一些最好的 BaseHandler 实现吧

2011-03-29 22:41:05 +08:00
 Livid
在 GAE 和 webapp 和 Tornado 这样的框架中,BaseHandler 可以算是一切的基础。一个强大的 BaseHandler 可以帮助省掉大量不必要的代码。

Tornado 本身的 RequestHandler 就实现得非常好。但是实际项目中则需要更进一步。

一个好的 BaseHandler 可以在网站的所有方面提供便利:

• 管理 HTTP 返回状态码和头部信息
• 检测浏览器
• 检测客户端语言
• 检测 Cookie 或是 Basic/Digest/OAuth Authentication
• 与数据库链接池交互
• Session
• Cookie
• 管理传入模版引擎的参数
• 内容压缩

大家来分享一下自己项目中的 BaseHandler,或是你认为实现得比较好的有哪些吧?
7946 次点击
所在节点    Tornado
4 条回复
keakon
2011-03-29 22:56:27 +08:00
我把大部分要用的功能都放到YUI框架里去了,所以自己的BaseHandler基本只是用来render模板的
https://bitbucket.org/keakon/doodle/src/3ddf46ac59e7/zh-CN/common.py#cl-485
newblue
2011-03-29 23:12:53 +08:00
既然是Handler,就应该做Handler应该做的事情。


• 管理 HTTP 返回状态码和头部信息
• 检测浏览器
• 检测客户端语言
• 检测 Cookie 或是 Basic/Digest/OAuth Authentication
• Session
• Cookie
• 内容压缩
• GET/POST

以上这些比较合适
gonbo
2011-03-30 08:59:52 +08:00
很多事情,能够在前端,比如nginx 处理的,就让nginx处理好了。

比如压缩。简单一些也不错。
ssword
2011-03-30 09:04:18 +08:00
Rack

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/10651

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX