mirror of
https://github.com/karust/openserp.git
synced 2026-08-05 16:53:54 +08:00
- replace proxy wiring with global and per-engine tag policies - split stats endpoints and lock fail-closed proxy behavior with tests
31 lines
877 B
Go
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])
|
|
}
|