当前仓库属于暂停状态,部分功能使用受限,详情请查阅 仓库状态说明
55 Star 269 Fork 100

fagongzi/gateway
暂停

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
validation.go 1.16 KB
一键复制 编辑 原始数据 按行查看 历史
张旭 提交于 2018-07-12 17:26 . fix: #82
package pb
import (
"fmt"
"regexp"
"github.com/fagongzi/gateway/pkg/pb/metapb"
)
// ValidateRouting validate routing
func ValidateRouting(value *metapb.Routing) error {
if value.API == 0 {
return fmt.Errorf("missing api")
}
if value.ClusterID == 0 {
return fmt.Errorf("missing cluster")
}
if value.Name == "" {
return fmt.Errorf("missing name")
}
if value.TrafficRate <= 0 || value.TrafficRate > 100 {
return fmt.Errorf("error traffic rate: %d", value.TrafficRate)
}
return nil
}
// ValidateCluster validate cluster
func ValidateCluster(value *metapb.Cluster) error {
if value.Name == "" {
return fmt.Errorf("missing name")
}
return nil
}
// ValidateServer validate server
func ValidateServer(value *metapb.Server) error {
if value.Addr == "" {
return fmt.Errorf("missing server address")
}
if value.MaxQPS == 0 {
return fmt.Errorf("missing server max qps")
}
return nil
}
// ValidateAPI validate api
func ValidateAPI(value *metapb.API) error {
if value.Name == "" {
return fmt.Errorf("missing api name")
}
if value.URLPattern != "" {
if _, err := regexp.Compile(value.URLPattern); err != nil {
return err
}
}
return nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/fagongzi/gateway.git
git@gitee.com:fagongzi/gateway.git
fagongzi
gateway
gateway
v2.5.0

搜索帮助