DefaultConfigurationProvider class

預設供應商會回傳基於環境的設定。

多租戶的考量: 此提供者在建構時建立單一配置實例,並在程序中所有請求間共享。 預設的模組層級提供者(例如 defaultRuntimeConfigurationProvider)是單例。

對於多租戶情境,支援兩種方法:

  1. 動態覆寫功能(建議): 在執行時,傳遞從非同步上下文讀取(例如 OpenTelemetry baggage)的覆寫函式。 同一個配置實例每次請求都會回傳不同的值。

    const config = new ToolingConfiguration({
      mcpPlatformEndpoint: () => {
        const tenantConfig = context.active().getValue(TENANT_KEY);
        return tenantConfig?.endpoint ?? 'https://default.endpoint';
      }
    });
    
  2. 按租戶提供的供應商: 當不同租戶需要完全不同的覆寫功能時,為每個租戶建立獨立的提供者實例。

建構函式詳細資料

DefaultConfigurationProvider<T>(() => T)

new DefaultConfigurationProvider(factory: () => T)

參數

factory

() => T

方法詳細資料

getConfiguration()

function getConfiguration(): T

傳回

T