3
私はたびに呼び出すプラグがいくつかあります。私はそれらのすべてを私のために呼び出す単一のプラグを作りたいと思います。それをどうやってやりますか?プラグ内からプラグを呼び出す
これは私が現在、実行しようとしましたてきたものである:
defmodule MyApp.SpecialPlug do
import Plug.Conn
def init(default), do: default
def call(conn, default) do
plug SimplePlug1
plug SimplePlug2, args: :something
end
end
が、それはCompileError
をスローし、言って:undefined function plug
恐ろしい
Plug.Builder
は相当を取得するには、自動的にあなたのために同じことを!ありがとう。これは私の問題を解決しますが、別の質問:私はプラグインコードで他のプラグを組み立てるのにどのようにPlug.Builderを使うことができますか?つまりプラグの 'call/2'メソッドの中で' plug/1'メソッドを使うことができますか? – Sheharyar
'SimplePlug1'と' SimplePlug2'の間に独自の実装を 'plug:hello'でプラグインし、' hello/2'を定義することができます。あるいは 'call/2'関数の中にあなたのコードに基づいてプラグを追加したいのですか? –
あなたの 'hello'の例はこれを行う素晴らしい方法のようですが、' call/2'の中でどのようにプラグインを呼び出し、何かをして、新しい 'conn'の別のプラグを呼び出す方法はなんだか不思議です。 – Sheharyar