使用中间件修改Pylons中的标头

时间:2010-05-05 09:32:44

标签: python rest pylons middleware

我正在尝试使用Pylons中的中间件来修改标头以使我的应用程序RESTful,基本上,如果用户通过"application/json"请求GET这是他得到的。

我的问题是,变量headers基本上是一个长列表。看起来像这样:

[('Content-Type', 'text/html; charset=utf-8'), ('Pragma', 'no-cache'), ('Cache-Control', 'no-cache'), ('Content-Length','20'), ('Content-Encoding', 'gzip')]

现在,我希望根据请求修改值 - 但这些位置是否已修复? 'Content-Type'始终是headers[0][0]的位置吗?

最诚挚的问候,

的Anders

1 个答案:

答案 0 :(得分:1)

试试这个


from webob import Request, Response
from my_wsgi_application import App
class MyMiddleware(object):
    def init(self, app):
        self.app = app
    def call(self, environ, start_response):
        req = Request(environ)
... rsp = req.get_response(app) rsp.headers['Content-type'] = 'application/json' return rsp(environ, start_response)

或简单的请求或响应.headers ['Content-type'] ='application / json'在你的控制器中

请参阅http://pythonpaste.org/webob/reference.html#headers