メタデータ

ソース

metadata を使用すると、メタデータコレクターを有効にできます。

説明

metadata を有効にすることで、metadata.Provider インターフェイス を実装するプラグインは、DNS クエリの処理開始時に各 DNS クエリに対して呼び出され、自身のメタデータをコンテキストに追加します。

収集したメタデータは、ServeDNS ファンクションで提供されたコンテキストパラメーターを介して、すべてのプラグインで利用できます。パッケージ(コード)ドキュメントには、プラグインに興味がある可能性のあるメタデータを検査および取得する方法の例が記載されています。

メタデータは、コンテキストに値を持つラベルを設定することで追加されます。これらのラベルには、NAME が説明的な名称である plugin/NAME という名前をつける必要があります。metadata プラグインで強制する唯一の厳しい要件は、ラベルにスラッシュが含まれることです。metadata.SetValueFunc のドキュメントを参照してください。

格納される値は文字列です。空の文字列は「メタデータなし」を示します。これの取得方法については、metadata.ValueFunc のドキュメントを参照してください。

構文

metadata [ZONES... ]
  • ZONES にメタデータを呼び出す必要があります。

プラグイン

metadata.Provider インターフェイスは、他のプラグインにメタデータ情報を提供するプラグインごとに実装する必要があります。metadata によって呼び出され、コンテキストにあるすべてのプラグインから情報を収集します。

注: このメソッドはリクエストごとに呼び出されるため、高速に動作する必要があります。

rewrite プラグインは、メタデータを使用してリクエストを書き換えます。

関連項目

Provider インターフェイスパッケージレベル のドキュメント。