在 python twisted 中创建钩子

creating hooks in python twisted

我正在使用 twisted 制作一个简单的服务器。我有几个资源(端点),我可以对其进行 http 调用。我需要在 falconflask 中添加挂钩以获取每次调用的查询参数。我怎样才能做到这一点。

from twisted.web.resource import Resource, NoResource
import json
import redis
from twisted.internet import threads, defer
from twisted.web.server import NOT_DONE_YET
import time

class JobListener(Resource):

    isLeaf = True

    def render_POST(self, request):
        # i want query params here
        return NOT_DONE_YET


class Home(Resource):

    def getChild(self, name, request):
        uri =  request.uri
        print uri
        if uri == '/':
            return self
        if uri == '/api/v1/dump':
            return JobListener()
        else:
            return NoResource()

    def render_GET(self, request):
        return "<html><body>Welcome to the server!</body></html>"

每当我点击 /api/v1/dump 它调用 JobListener 我想以某种方式向所有端点添加一个钩子,当调用 api 时填充查询参数

查询参数在请求对象上可用。请参阅 args

http://twistedmatrix.com/documents/current/api/twisted.web.iweb.IRequest.html