Files
waf-platform/EdgeCommon/pkg/dnsconfigs/ns_doh_config.go

42 lines
1017 B
Go

// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
//go:build plus
package dnsconfigs
import (
"context"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/sslconfigs"
)
// NSDoHConfig DoH设置
type NSDoHConfig struct {
IsOn bool `yaml:"isOn" json:"isOn"` // 是否开启
Listen []*serverconfigs.NetworkAddressConfig `yaml:"listen" json:"listen"` // 绑定的网络地址
SSLPolicyRef *sslconfigs.SSLPolicyRef `yaml:"sslPolicyRef" json:"sslPolicyRef"`
SSLPolicy *sslconfigs.SSLPolicy `yaml:"sslPolicy" json:"sslPolicy"`
}
func NewNSDoHConfig() *NSDoHConfig {
return &NSDoHConfig{}
}
func (this *NSDoHConfig) Init() error {
for _, listen := range this.Listen {
err := listen.Init()
if err != nil {
return err
}
}
if this.SSLPolicy != nil {
err := this.SSLPolicy.Init(context.TODO())
if err != nil {
return err
}
}
return nil
}