2017-01-07 9 views
-1

私はツイストを使ってシンプルなサーバーを作っています。私はhttp呼び出しを行うことができるいくつかのリソース(エンドポイント)を持っています。私はfalconまたはflaskのようなフックを追加して、すべての呼び出しのクエリパラメータを取得する必要があります。どのように私はそれを達成することができます。私は/api/v1/dumpを打つたびPythonでフックを作成ツイスト

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が

答えて

0

クエリー引数呼び出されたときに、何らかの形でクエリのparamsを移入するすべてのエンドポイントにフックを追加しているしたいJobListenerを呼び出し、リクエストオブジェクト上で利用可能です。

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

+0

おかげで多くが、なぜ質問はdownvotedした上argsを参照してください? – anekix

+0

私は確信していません、それは私ではありませんでした。おそらく、誰かがそれが単純すぎる質問で、簡単に答えられたと思っていたのかもしれません。あるいは質問したように理解するのが難しいと思っていた人がいるかもしれません。しかし、ちょうど推測する。 –

+0

私はすでにabtの 'request.args'を知っていましたが、' falcon'や 'flask'フックのような答えを探していました。私はあなたの答えを受け入れました。なぜなら、それは理にかなっており、これがねじれた唯一の方法だと思います。私は、単純に投票を下す人が質問を少なくともatleastに読んでくれることを願っています。 – anekix

関連する問題