反向代理源站可以设置权重

This commit is contained in:
GoEdgeLab
2020-11-17 17:11:40 +08:00
parent 3fe9b4dcde
commit 05611f98f3
2 changed files with 12 additions and 4 deletions

View File

@@ -91,12 +91,16 @@ func (this *OriginDAO) FindOriginName(id int64) (string, error) {
} }
// 创建源站 // 创建源站
func (this *OriginDAO) CreateOrigin(name string, addrJSON string, description string) (originId int64, err error) { func (this *OriginDAO) CreateOrigin(name string, addrJSON string, description string, weight int32) (originId int64, err error) {
op := NewOriginOperator() op := NewOriginOperator()
op.IsOn = true op.IsOn = true
op.Name = name op.Name = name
op.Addr = addrJSON op.Addr = addrJSON
op.Description = description op.Description = description
if weight < 0 {
weight = 0
}
op.Weight = weight
op.State = OriginStateEnabled op.State = OriginStateEnabled
_, err = this.Save(op) _, err = this.Save(op)
if err != nil { if err != nil {
@@ -106,7 +110,7 @@ func (this *OriginDAO) CreateOrigin(name string, addrJSON string, description st
} }
// 修改源站 // 修改源站
func (this *OriginDAO) UpdateOrigin(originId int64, name string, addrJSON string, description string) error { func (this *OriginDAO) UpdateOrigin(originId int64, name string, addrJSON string, description string, weight int32) error {
if originId <= 0 { if originId <= 0 {
return errors.New("invalid originId") return errors.New("invalid originId")
} }
@@ -115,6 +119,10 @@ func (this *OriginDAO) UpdateOrigin(originId int64, name string, addrJSON string
op.Name = name op.Name = name
op.Addr = addrJSON op.Addr = addrJSON
op.Description = description op.Description = description
if weight < 0 {
weight = 0
}
op.Weight = weight
op.Version = dbs.SQL("version+1") op.Version = dbs.SQL("version+1")
_, err := this.Save(op) _, err := this.Save(op)
return err return err

View File

@@ -29,7 +29,7 @@ func (this *OriginService) CreateOrigin(ctx context.Context, req *pb.CreateOrigi
"portRange": req.Addr.PortRange, "portRange": req.Addr.PortRange,
"host": req.Addr.Host, "host": req.Addr.Host,
} }
originId, err := models.SharedOriginDAO.CreateOrigin(req.Name, string(addrMap.AsJSON()), req.Description) originId, err := models.SharedOriginDAO.CreateOrigin(req.Name, string(addrMap.AsJSON()), req.Description, req.Weight)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@@ -52,7 +52,7 @@ func (this *OriginService) UpdateOrigin(ctx context.Context, req *pb.UpdateOrigi
"portRange": req.Addr.PortRange, "portRange": req.Addr.PortRange,
"host": req.Addr.Host, "host": req.Addr.Host,
} }
err = models.SharedOriginDAO.UpdateOrigin(req.OriginId, req.Name, string(addrMap.AsJSON()), req.Description) err = models.SharedOriginDAO.UpdateOrigin(req.OriginId, req.Name, string(addrMap.AsJSON()), req.Description, req.Weight)
if err != nil { if err != nil {
return nil, err return nil, err
} }