On this page |
ビルトインのハンドラー(例えば、@urlHandlerとか@apiFunction)よりも汎用URLハンドラーが必要な場合、このURLHandlerクラスを使用します。 汎用ハンドラーを使用すれば、Houdiniのすべてにアクセス可能でありながら他のRPC(例えば、JSON RPC)をそのハンドラー上に構築することができます。
Note
URLHandlerは、ハンドラーが応答する前に他のリソースを待機する必要がない場合で最適です。 リクエストが他のリソースを待機した後に応答する必要がある場合は、代わりにhwebserver.AsyncURLHandlerを使用してください。
サンプル ¶
以下のサンプルでは、新しいリクエストが来た時に、指定した関数をコールするハンドラーの作り方を載せています。 このクラスを使用すると、以下のサンプルを利用して同様に@urlHandlerデコレータを作成することができます。
class URLCallbackHandler(hwebserver.URLHandler): def __init__(self, path, function, is_prefix=False): URLHandler.__init__(self, path, methods=['GET','POST'], allows_partial=is_prefix) self._function = function def handle(self, request): if self._function is None: return hwebserver.errorResponse(request, "Handler doesnt have a function attached.", 500) return self._function(request)
メソッド ¶
path
Property
URLHandlerがインストールされるパス。
methods
Property
URLHandlerがインストールされるメソッドのリスト(GET, POSTなど)。
See also |