Files
openserp/cmd/proxy_policy.go
Rustem Kamalov 3daa48e6a3 Proxy policy wiring and fail-closed execution
- replace proxy wiring with global and per-engine tag policies
- split stats endpoints and lock fail-closed proxy behavior with tests
2026-04-01 00:54:21 +03:00

31 lines
877 B
Go

package cmd
import (
"strings"
"github.com/karust/openserp/core"
)
func buildEngineProxyPolicyMap() map[string]string {
return map[string]string{
"google": config.GoogleConfig.Proxy,
"yandex": config.YandexConfig.Proxy,
"baidu": config.BaiduConfig.Proxy,
"bing": config.BingConfig.Proxy,
"duckduckgo": config.DuckDuckGoConfig.Proxy,
}
}
func buildNormalizedProxyConfig(runtime string) (core.ProxyConfig, error) {
return core.NormalizeProxyConfig(core.ProxyConfig{
Runtime: runtime,
Proxies: config.Proxies,
EnginePolicies: buildEngineProxyPolicyMap(),
})
}
func resolveEngineProxyPolicy(proxyCfg core.ProxyConfig, engineName string) core.ProxyPolicy {
engineKey := strings.ToLower(strings.TrimSpace(engineName))
return core.ResolveEffectiveProxyPolicy(proxyCfg.Proxies.Global, proxyCfg.EnginePolicies[engineKey])
}