mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 16:00:24 +08:00 
			
		
		
		
	可以创建空的防火墙策略
This commit is contained in:
		@@ -114,6 +114,43 @@ func (this *HTTPFirewallPolicyService) CreateHTTPFirewallPolicy(ctx context.Cont
 | 
			
		||||
	return &pb.CreateHTTPFirewallPolicyResponse{HttpFirewallPolicyId: policyId}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 创建空防火墙策略
 | 
			
		||||
func (this *HTTPFirewallPolicyService) CreateEmptyHTTPFirewallPolicy(ctx context.Context, req *pb.CreateEmptyHTTPFirewallPolicyRequest) (*pb.CreateEmptyHTTPFirewallPolicyResponse, error) {
 | 
			
		||||
	// 校验请求
 | 
			
		||||
	_, userId, err := this.ValidateAdminAndUser(ctx, 0, 0)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	tx := this.NullTx()
 | 
			
		||||
 | 
			
		||||
	policyId, err := models.SharedHTTPFirewallPolicyDAO.CreateFirewallPolicy(tx, userId, req.IsOn, req.Name, req.Description, nil, nil)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 初始化
 | 
			
		||||
	inboundConfig := &firewallconfigs.HTTPFirewallInboundConfig{IsOn: true}
 | 
			
		||||
	outboundConfig := &firewallconfigs.HTTPFirewallOutboundConfig{IsOn: true}
 | 
			
		||||
 | 
			
		||||
	inboundConfigJSON, err := json.Marshal(inboundConfig)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	outboundConfigJSON, err := json.Marshal(outboundConfig)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err = models.SharedHTTPFirewallPolicyDAO.UpdateFirewallPolicyInboundAndOutbound(tx, policyId, inboundConfigJSON, outboundConfigJSON)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return &pb.CreateEmptyHTTPFirewallPolicyResponse{HttpFirewallPolicyId: policyId}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改防火墙策略
 | 
			
		||||
func (this *HTTPFirewallPolicyService) UpdateHTTPFirewallPolicy(ctx context.Context, req *pb.UpdateHTTPFirewallPolicyRequest) (*pb.RPCSuccess, error) {
 | 
			
		||||
	// 校验请求
 | 
			
		||||
 
 | 
			
		||||
@@ -135,7 +135,7 @@ func (this *NodeService) NodeStream(server pb.NodeService_NodeStreamServer) erro
 | 
			
		||||
			case <-server.Context().Done():
 | 
			
		||||
				return
 | 
			
		||||
			case commandRequest := <-requestChan:
 | 
			
		||||
				logs.Println("[RPC]sending command '" + commandRequest.Code + "' to node '" + strconv.FormatInt(nodeId, 10) + "'")
 | 
			
		||||
				// logs.Println("[RPC]sending command '" + commandRequest.Code + "' to node '" + strconv.FormatInt(nodeId, 10) + "'")
 | 
			
		||||
				retries := 3 // 错误重试次数
 | 
			
		||||
				for i := 0; i < retries; i++ {
 | 
			
		||||
					err := server.Send(&pb.NodeStreamMessage{
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user