实现路径规则各项数据修改

This commit is contained in:
GoEdgeLab
2020-09-22 11:36:51 +08:00
parent c126d06f70
commit 41bddd79c9
110 changed files with 1799 additions and 182 deletions

View File

@@ -56,7 +56,7 @@ func (this *AddPopupAction) RunPost(params struct {
host := addr[:portIndex]
port := addr[portIndex+1:]
resp, err := this.RPC().OriginServerRPC().CreateOriginServer(this.AdminContext(), &pb.CreateOriginServerRequest{
resp, err := this.RPC().OriginRPC().CreateOrigin(this.AdminContext(), &pb.CreateOriginRequest{
Name: "",
Addr: &pb.NetworkAddress{
Protocol: params.Protocol,
@@ -70,17 +70,9 @@ func (this *AddPopupAction) RunPost(params struct {
return
}
originId := resp.OriginId
originConfigResp, err := this.RPC().OriginServerRPC().FindEnabledOriginServerConfig(this.AdminContext(), &pb.FindEnabledOriginServerConfigRequest{OriginId: originId})
if err != nil {
this.ErrorPage(err)
return
}
originConfigData := originConfigResp.OriginJSON
var originConfig = &serverconfigs.OriginServerConfig{}
err = json.Unmarshal(originConfigData, originConfig)
if err != nil {
this.ErrorPage(err)
return
originRef := &serverconfigs.OriginRef{
IsOn: true,
OriginId: originId,
}
reverseProxyResp, err := this.RPC().ReverseProxyRPC().FindEnabledReverseProxy(this.AdminContext(), &pb.FindEnabledReverseProxyRequest{ReverseProxyId: params.ReverseProxyId})
@@ -94,7 +86,7 @@ func (this *AddPopupAction) RunPost(params struct {
return
}
origins := []*serverconfigs.OriginServerConfig{}
origins := []*serverconfigs.OriginRef{}
switch params.OriginType {
case "primary":
if len(reverseProxy.PrimaryOriginsJSON) > 0 {
@@ -113,7 +105,7 @@ func (this *AddPopupAction) RunPost(params struct {
}
}
}
origins = append(origins, originConfig)
origins = append(origins, originRef)
originsData, err := json.Marshal(origins)
if err != nil {
this.ErrorPage(err)

View File

@@ -28,7 +28,7 @@ func (this *DeleteAction) RunPost(params struct {
return
}
origins := []*serverconfigs.OriginServerConfig{}
origins := []*serverconfigs.OriginRef{}
switch params.OriginType {
case "primary":
err = json.Unmarshal(reverseProxy.PrimaryOriginsJSON, &origins)
@@ -47,9 +47,9 @@ func (this *DeleteAction) RunPost(params struct {
return
}
result := []*serverconfigs.OriginServerConfig{}
result := []*serverconfigs.OriginRef{}
for _, origin := range origins {
if origin.Id == params.OriginId {
if origin.OriginId == params.OriginId {
continue
}
result = append(result, origin)

View File

@@ -2,7 +2,6 @@ package origins
import (
"encoding/json"
"errors"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
@@ -41,13 +40,13 @@ func (this *UpdatePopupAction) RunGet(params struct {
this.Data["serverType"] = serverTypeResp.Type
// 源站信息
originResp, err := this.RPC().OriginServerRPC().FindEnabledOriginServerConfig(this.AdminContext(), &pb.FindEnabledOriginServerConfigRequest{OriginId: params.OriginId})
originResp, err := this.RPC().OriginRPC().FindEnabledOriginConfig(this.AdminContext(), &pb.FindEnabledOriginConfigRequest{OriginId: params.OriginId})
if err != nil {
this.ErrorPage(err)
return
}
configData := originResp.OriginJSON
config := &serverconfigs.OriginServerConfig{}
config := &serverconfigs.OriginConfig{}
err = json.Unmarshal(configData, config)
if err != nil {
this.ErrorPage(err)
@@ -85,7 +84,7 @@ func (this *UpdatePopupAction) RunPost(params struct {
host := addr[:portIndex]
port := addr[portIndex+1:]
_, err := this.RPC().OriginServerRPC().UpdateOriginServer(this.AdminContext(), &pb.UpdateOriginServerRequest{
_, err := this.RPC().OriginRPC().UpdateOrigin(this.AdminContext(), &pb.UpdateOriginRequest{
OriginId: params.OriginId,
Name: "",
Addr: &pb.NetworkAddress{
@@ -100,79 +99,5 @@ func (this *UpdatePopupAction) RunPost(params struct {
return
}
originConfigResp, err := this.RPC().OriginServerRPC().FindEnabledOriginServerConfig(this.AdminContext(), &pb.FindEnabledOriginServerConfigRequest{OriginId: params.OriginId})
if err != nil {
this.ErrorPage(err)
return
}
originConfigData := originConfigResp.OriginJSON
var originConfig = &serverconfigs.OriginServerConfig{}
err = json.Unmarshal(originConfigData, originConfig)
if err != nil {
this.ErrorPage(err)
return
}
// 查找反向代理信息
reverseProxyResp, err := this.RPC().ReverseProxyRPC().FindEnabledReverseProxy(this.AdminContext(), &pb.FindEnabledReverseProxyRequest{ReverseProxyId: params.ReverseProxyId})
if err != nil {
this.ErrorPage(err)
return
}
reverseProxy := reverseProxyResp.ReverseProxy
if reverseProxy == nil {
this.ErrorPage(errors.New("reverse proxy should not be nil"))
return
}
origins := []*serverconfigs.OriginServerConfig{}
switch params.OriginType {
case "primary":
if len(reverseProxy.PrimaryOriginsJSON) > 0 {
err = json.Unmarshal(reverseProxy.PrimaryOriginsJSON, &origins)
if err != nil {
this.ErrorPage(err)
return
}
}
case "backup":
if len(reverseProxy.BackupOriginsJSON) > 0 {
err = json.Unmarshal(reverseProxy.BackupOriginsJSON, &origins)
if err != nil {
this.ErrorPage(err)
return
}
}
}
for index, origin := range origins {
if origin.Id == params.OriginId {
origins[index] = originConfig
}
}
// 保存
originsData, err := json.Marshal(origins)
if err != nil {
this.ErrorPage(err)
return
}
switch params.OriginType {
case "primary":
_, err = this.RPC().ReverseProxyRPC().UpdateReverseProxyPrimaryOrigins(this.AdminContext(), &pb.UpdateReverseProxyPrimaryOriginsRequest{
ReverseProxyId: params.ReverseProxyId,
OriginsJSON: originsData,
})
case "backup":
_, err = this.RPC().ReverseProxyRPC().UpdateReverseProxyBackupOrigins(this.AdminContext(), &pb.UpdateReverseProxyBackupOriginsRequest{
ReverseProxyId: params.ReverseProxyId,
OriginsJSON: originsData,
})
}
if err != nil {
this.ErrorPage(err)
return
}
this.Success()
}