mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-23 23:10:26 +08:00
HTTP Header:实现请求方法、域名、状态码等限制,实现内容替换功能
This commit is contained in:
@@ -186,48 +186,6 @@ func (this *HTTPHeaderPolicyDAO) ComposeHeaderPolicyConfig(tx *dbs.Tx, headerPol
|
||||
config.Id = int64(policy.Id)
|
||||
config.IsOn = policy.IsOn == 1
|
||||
|
||||
// AddHeaders
|
||||
if len(policy.AddHeaders) > 0 {
|
||||
refs := []*shared.HTTPHeaderRef{}
|
||||
err = json.Unmarshal([]byte(policy.AddHeaders), &refs)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if len(refs) > 0 {
|
||||
for _, ref := range refs {
|
||||
headerConfig, err := SharedHTTPHeaderDAO.ComposeHeaderConfig(tx, ref.HeaderId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
config.AddHeaders = append(config.AddHeaders, headerConfig)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// AddTrailers
|
||||
if len(policy.AddTrailers) > 0 {
|
||||
refs := []*shared.HTTPHeaderRef{}
|
||||
err = json.Unmarshal([]byte(policy.AddTrailers), &refs)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if len(refs) > 0 {
|
||||
resultRefs := []*shared.HTTPHeaderRef{}
|
||||
for _, ref := range refs {
|
||||
headerConfig, err := SharedHTTPHeaderDAO.ComposeHeaderConfig(tx, ref.HeaderId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if headerConfig == nil {
|
||||
continue
|
||||
}
|
||||
resultRefs = append(resultRefs, ref)
|
||||
config.AddTrailers = append(config.AddTrailers, headerConfig)
|
||||
}
|
||||
config.AddHeaderRefs = resultRefs
|
||||
}
|
||||
}
|
||||
|
||||
// SetHeaders
|
||||
if len(policy.SetHeaders) > 0 {
|
||||
refs := []*shared.HTTPHeaderRef{}
|
||||
@@ -252,30 +210,6 @@ func (this *HTTPHeaderPolicyDAO) ComposeHeaderPolicyConfig(tx *dbs.Tx, headerPol
|
||||
}
|
||||
}
|
||||
|
||||
// ReplaceHeaders
|
||||
if len(policy.ReplaceHeaders) > 0 {
|
||||
refs := []*shared.HTTPHeaderRef{}
|
||||
err = json.Unmarshal([]byte(policy.ReplaceHeaders), &refs)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if len(refs) > 0 {
|
||||
resultRefs := []*shared.HTTPHeaderRef{}
|
||||
for _, ref := range refs {
|
||||
headerConfig, err := SharedHTTPHeaderDAO.ComposeHeaderConfig(tx, ref.HeaderId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if headerConfig == nil {
|
||||
continue
|
||||
}
|
||||
resultRefs = append(resultRefs, ref)
|
||||
config.ReplaceHeaders = append(config.ReplaceHeaders, headerConfig)
|
||||
}
|
||||
config.ReplaceHeaderRefs = resultRefs
|
||||
}
|
||||
}
|
||||
|
||||
// Delete Headers
|
||||
if len(policy.DeleteHeaders) > 0 {
|
||||
headers := []string{}
|
||||
|
||||
Reference in New Issue
Block a user