1

我正在尝试使用 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]

最好的祝福,

安德斯

4

1 回答 1

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

于 2010-05-05T10:06:39.520 回答