Houdini 19.5 hwebserver

hwebserver.Request class

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

On this page

Note

このクラスは、hwebserver.WebServerRequesthwebserver.Requestのどちらを使ってもアクセス可能ですが、hwebserver.Requestの方が望ましいです。

このオブジェクトは、クライアントリクエストからの情報のコンテナとして登録済みのURLハンドラー関数に渡されます。

アップロードのサンプル

import tempfile
import hwebserver
import hou


@hwebserver.urlHandler("/blur_image")
def blur_image(request):
    if request.method() == "GET":
        return hwebserver.Response('''
            <p>Upload an image</p>
            <form method="POST" enctype="multipart/form-data">
                <input type="file" name="image_file">
                <input type="submit">
            </form>
        ''')

    if request.method() != "POST":
        return hwebserver.notFoundResponse(request)

    image_file = request.files().get("image_file")
    if image_file is None:
        return hwebserver.errorResponse(request, "No image was posted", 422)
    image_file.saveToDisk()

    # COPネットワークを使用して画像を読み込んで、それにブラーをかけて、
    # それを一時出力ファイルに書き出します。
    copnet = hou.node("/img").createNode("img")
    file_cop = copnet.createNode("file")
    file_cop.parm("filename1").set(image_file.temporaryFilePath())

    blur_cop = copnet.createNode("blur")
    blur_cop.setFirstInput(file_cop)
    blur_cop.parm("blursize").set(10)

    rop = copnet.createNode("rop_comp")
    rop.setFirstInput(blur_cop)
    rop.parmTuple("f").set((1, 1, 1))
    temp_output_file = tempfile.mkstemp(".jpg")[1]
    rop.parm("copoutput").set(temp_output_file)
    rop.render()

    copnet.destroy()

    return hwebserver.fileResponse(temp_output_file, delete_file=True)


hwebserver.run(8008, True)

メソッド

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を返します。

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

  • hwebserver.urlHandler

    Houdiniのウェブサーバーへのリクエストを制御する関数のデコレータ。

  • hwebserver.errorResponse

    HTTPエラーを表現したResponseオブジェクトを生成します。

  • hwebserver.notFoundResponse

    404 Not Found HTTPエラーを表現したResponseオブジェクトを生成します。

  • hwebserver.fileResponse

    ファイルの内容を送信するResponseオブジェクトを生成します。

  • hwebserver.redirect

    301 Movedまたは302 FoundのHTTPレスポンスを表現したResponseオブジェクトを生成します。

  • hwebserver.registerStaticFilesDirectory

    指定したプリフィックスにマッチしたURLに対して自動的にファイルを提供するために、指定したディレクトリをチェックするようにHoudiniのウェブサーバーに命令します。

  • hwebserver.registerOpdefPath

    指定したプリフィックスを、opdefリクエストを送信するハンドラーとして使用するようにHoudiniのウェブサーバーに命令します。

  • hwebserver.registerWSGIApp

    パスプリフィックスで使用するDjangoなどのWSGI準拠のアプリケーションを登録する際に使用する関数。

  • hwebserver.registerASGIApp

    パスプリフィックスで使用するDjangoなどのASGI準拠のアプリケーションを登録する際に使用する関数。

  • hwebserver.setSettingsForPort

    特定のポートの設定を調整します。

ウェブソケット

  • WebSocket

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

  • hwebserver.webSocket

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

APIコール

  • hwebserver.apiFunction

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

  • hwebserver.APIError

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