Houdini 20.0 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()

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

    blur_cop2 = cop2net.createNode("blur")
    blur_cop2.setFirstInput(file_cop2
    blur_cop2.parm("blursize").set(10)

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

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

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

ウェブソケット

  • WebSocket

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

  • hwebserver.webSocket

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

APIコール

  • hwebserver.apiFunction

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

  • hwebserver.APIError

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