如何在Cyclone中的defer.inlineCallback顶部堆叠装饰器?

时间:2015-06-03 14:32:09

标签: python twisted cyclone

我想在Cyclone请求处理程序中用一个像这样的简单装饰器来装饰post / get / ...方法:

def json_errors(fun):
    def x(self, *args, **kwargs):
        try:
            rv = fun(self, *args, **kwargs)
            return rv
        except cyclone.web.HTTPError, e:
            self.set_status(e.status_code)
            self.set_header('Content-Type', 'application/json')
            self.write(e.log_message)
            self.finish()
    return x

但是,因为我的post / get / ...方法已经使用defer.inlineCallbacks进行了修饰,所以我得到了各种与延迟相关的错误,无论我在@defer.inlineCallbacks之前还是之后放置我的装饰器

如何添加装饰器?

0 个答案:

没有答案