数据犬 OpenFeature 节点.js 服务器客户端
这个软件包为Node.js服务器环境提供OpenFeature集成,专为内部Datadog使用而设计. 不为外部组织或第三方使用提供支助.
独立的配置助手
要求节点.js 18或更新. 在不初始化跟踪器或提供者的情况下获取并解析规则 。 客人们 dd-trace/openfeature 入站点是单独的后续;这些示例使用内部包.
import { fetchRulesConfiguration, configurationToString } from '@datadog/openfeature-node-server/rules-based'
// The server distribution channel is the default. Rules do not depend on an evaluation context.
const configuration = await fetchRulesConfiguration({ apiKey, env: 'production' })
// For browser bootstrap data, explicitly fetch client-distributed rules.
const clientConfiguration = await fetchRulesConfiguration({
distributionChannel: 'client',
clientToken,
env: 'production',
})
const wire = configurationToString(clientConfiguration)
// Pass wire through the framework's safe SSR data serializer, not raw inline HTML.
只向浏览器转发客户端分布配置. 串行化不会去除只包含服务器的旗帜. 客户端的出入口控制和选入要求仍然适用.
从序列化配置初始化浏览器提供者 :
import { configurationFromString, DatadogCoreProvider } from '@datadog/openfeature-browser/rules-based'
import { OpenFeature } from '@openfeature/web-sdk'
const provider = new DatadogCoreProvider()
provider.setConfiguration(configurationFromString(wire))
await OpenFeature.setProviderAndWait(provider, context)
回来的 FlagsConfiguration 实值 没有 (原始内容存档于2013-10-10). UNESC JSON 接受的遗赠 DatadogNodeServerProvider.setConfiguration()。现有的节点提供者没有改变,从根入点导入它不会装入原发泡解码器.
获取选项和错误
distributionChannel选择要获取的配置通道,而不是帮助者运行的地方。 默认为server; 使用client在为浏览器或移动 SDK 准备配置时.site默认为datadoghq.com。 。 。 .fetch覆盖全局获取 。 自定义运输必须尊重signal财务报告和审定财务报表redirect: 'manual'; 拒绝重新定向以保护证书.timeoutMs默认为5000并覆盖请求和答复机构.signal支持呼叫者取消和较早的最后期限.- 失败投出
ConfigurationFetchError带有code对于HTTP错误,status。超时使用timeout; 使用其他调用者的取消cancelled。 。 。 .
申请拥有复试,投票,存储,跟踪,倒置等功能.
最终用户许可证协议
https://www.datadoghq.com/legal/eula 互联网档案馆的存檔,存档日期2013-12-02