set_by_lua_*
ディレクティブからテーブル/配列を返すにはどうすれば別のset_by_lua_*
ディレクティブで後で読み込むことができますか?nginx変数をLuaテーブル/配列に設定するには
私の意図は、複雑な値を一度返してから、返された値の部分を他の変数に入れます。理想的な世界では、これは私が(非稼働例)を書くだろうかです:
location {
set_by_lua_file $info '/my/library/do_stuff_with_headers_and_env.lua';
set_by_lua $language 'return $info["language"]';
set_by_lua $best_server 'return $info["server"]';
set_by_lua $last_user 'return $info["user"]';
echo "Best server for $language is $best_server (last used by $last_user)";
}
一つは、単にngx.var
を使用して、スクリプト内でこれらの変数を設定することもできますが、私は、ライブラリの一種として、スクリプトファイルを書きたいですユーザーに必要な情報のみを抽出させることができます。
set_by_lua_*
は、テーブル/アレイ(set_by_lua $x 'return {"foo", "bar"}';
セットnil
から$x
)をサポートしていないことを考えると、があり、ベストプラクティス、回避策やset_by_lua_*
ディレクティブからテーブル/配列を返すために慣用的な方法ですか?