registerOpdefPath("/opdef", port=-1)
サーバーがprefix
で始まるパスのリクエストを受信すると、サーバーはそれに該当するopdefセクションデータで応答します。
ハンドラーをサーバーのメインポート以外のポートで実行させたい場合は、オプションでport
を指定することができます。
この関数は、URLハンドラーからコールするのではなく、hwebserver.runコールの前にコールしてください。
例えば、以下を実行して:
hwebserver.registerOpdefPath("/opdef")
…クライアントが以下のサーバーパスをリクエストした場合:
/opdef/obj/geo?Help
…サーバーは、自動的にgeo
ノードからHelp
セクションのデータを提供します。
Note
URLハンドラーがopdefパスプリフィックスよりも特定された(もっと多くのパス部分にマッチする)URLを持っている場合、サーバーは、opdef検索の代わりにそのハンドラーを使用します。
例えば、上記のようにopdefを登録したとしても、クライアントが/opdef/geo/foo.bgeo
をリクエストし、/opdef/geo
に対して動的ハンドラーがある場合、
サーバーは、opdefハンドラーを使用せず、その動的ハンドラーを使用します。
これは、静的なopdefハンドラーと混在して動的に生成されるopdefハンドラーがいくつか必要な場合に役立ちます。
とはいえ、通常では、混乱を避けるために、opdefセクションリクエストに対してデフォルトの/opdef
プリフィックスを使用するなどして、opdefリソースと動的リソースを分けるのが良いです。
See also |