实现重写规则管理

This commit is contained in:
刘祥超
2020-09-28 16:25:39 +08:00
parent 8773f7e34c
commit 829ffbc7e8
12 changed files with 280 additions and 10 deletions

View File

@@ -279,6 +279,25 @@ func (this *HTTPWebDAO) ComposeWebConfig(webId int64) (*serverconfigs.HTTPWebCon
}
}
// 重写规则
if IsNotNull(web.RewriteRules) {
refs := []*serverconfigs.HTTPRewriteRef{}
err = json.Unmarshal([]byte(web.RewriteRules), &refs)
if err != nil {
return nil, err
}
for _, ref := range refs {
rewriteRule, err := SharedHTTPRewriteRuleDAO.ComposeRewriteRule(ref.RewriteRuleId)
if err != nil {
return nil, err
}
if rewriteRule != nil {
config.RewriteRefs = append(config.RewriteRefs, ref)
config.RewriteRules = append(config.RewriteRules, rewriteRule)
}
}
}
return config, nil
}
@@ -461,3 +480,15 @@ func (this *HTTPWebDAO) UpdateWebsocket(webId int64, websocketJSON []byte) error
_, err := this.Save(op)
return err
}
// 修改重写规则设置
func (this *HTTPWebDAO) UpdateWebRewriteRules(webId int64, rewriteRulesJSON []byte) error {
if webId <= 0 {
return errors.New("invalid webId")
}
op := NewHTTPWebOperator()
op.Id = webId
op.RewriteRules = JSONBytes(rewriteRulesJSON)
_, err := this.Save(op)
return err
}