Houdini 20.0 hwebserver

hwebserver.registerArchiveFile function

アーカイブファイルを仮想ファイルディレクトリとして使用するようにHoudiniのウェブサーバーに命令します。

registerArchiveFile(archive_file, url_prefix, port=-1)

サーバーがurl_prefixで始まるパスのリクエストを受信した時に、そのリクエストパスの残りの部分がアーカイブファイル内部のファイルだった場合、 サーバーは、自動的にそのファイルをクライアントに供給します。 ハンドラーをサーバーのメインポート以外のポートで実行させたい場合は、オプションでportを指定することができます。

この関数は、URLハンドラーからコールするのではなく、hwebserver.runコールの前にコールしてください。

例えば、以下を実行して:

hwebserver.registerArchiveFile("/var/www/files/css.zip", "/css")

…クライアントが以下のサーバーパスをリクエストして:

/css/main.css

…main.cssファイルがcss.zipファイル内部に存在した場合、

…サーバーは、Pythonハンドラー不要で自動的にクライアントにmain.cssファイルを提供します。

Pythonハンドラーではなくて、このようにしてサーバーが静的ファイル(Houdiniデータから動的に生成されないファイルで、例えばCSSやJavaScriptファイルなど)を用意するようにサーバーのセットアップを試してください。 この仮想ファイルシステムは、ファイルシステム容量が厳しい時にのみ使用してください。 静的なディレクトリを登録するのと比べて、このメソッドを使用するとパフォーマンスが悪くなります。

Note

URLハンドラーがアーカイブパスプリフィックスよりも特定された(もっと多くのパス部分にマッチする)URLを持っている場合、サーバーは、アーカイブ検索の代わりにそのハンドラーを使用します。

例えば、上記のアーカイブディレクトリが登録されていて、クライアントが/archive/geo/foo.bgeoをリクエストし、/archive/geoに対して動的ハンドラーがある場合、 サーバーは、アーカイブファイルを検索するのではなく、そのハンドラーを使用します。

See also

hwebserver

クラス

  • hwebserver.Request

    Houdiniのウェブサーバーに送信されるリクエスト。

  • hwebserver.Response

    Houdiniのウェブサーバーから送り返されるレスポンス。

  • hwebserver.UploadedFile

    Houdiniのウェブサーバーに送信されるリクエストにアップロードされたファイル。

  • URLHandler

    汎用のHTTPハンドラー。

  • AsyncURLHandler

    汎用の非同期HTTPハンドラー。

  • WebSocket

    組み込みサーバーをWebSocketに対応させるための基底クラス。

開始と停止

  • hwebserver.run

    Houdiniのウェブサーバーを開始します。

  • hwebserver.requestShutdown

    すべてのオープンリクエストが処理された後にシャットダウンするようにHoudiniのウェブサーバーに命令します。

  • hwebserver.isInDebugMode

    Houdiniのウェブサーバーがデバッグモード(でdebug=True)で起動されていればTrueを返します。

ウェブリクエストの処理とレスポンスの返し

ウェブソケット

  • WebSocket

    組み込みサーバーをWebSocketに対応させるための基底クラス。

  • hwebserver.webSocket

    HoudiniのウェブサーバーにWebSocketクラスを登録するデコレータ。

APIコール

  • hwebserver.apiFunction

    Houdiniウェブサーバー上のAPIエンドポイント経由で関数をコールを可能にするデコレータで、JSON形式またはバイナリ形式のレスポンスを返します。

  • hwebserver.APIError

    apiFunctionハンドラー内でこの例外を引き起こしてエラーを示します。