mirror of
				https://github.com/TeaOSLab/EdgeNode.git
				synced 2025-11-04 07:40:56 +08:00 
			
		
		
		
	* 信息加密使用struct代替map,以缩短加密后内容长度 * 拦截动作、人机识别动作增加是否尝试全局封禁选项 * JSCookie识别动作增加默认设置选项 * 人机识别中传入info参数异常时,尝试跳转到来源地址,避免直接提示invalid request
		
			
				
	
	
		
			45 lines
		
	
	
		
			978 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			978 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
 | 
						|
 | 
						|
package waf_test
 | 
						|
 | 
						|
import (
 | 
						|
	"github.com/TeaOSLab/EdgeNode/internal/waf"
 | 
						|
	"github.com/iwind/TeaGo/types"
 | 
						|
	"testing"
 | 
						|
	"time"
 | 
						|
)
 | 
						|
 | 
						|
func TestInfoArg_Encode(t *testing.T) {
 | 
						|
	var info = &waf.InfoArg{
 | 
						|
		ActionId:         1,
 | 
						|
		Timestamp:        time.Now().Unix(),
 | 
						|
		URL:              "https://example.com/hello",
 | 
						|
		PolicyId:         2,
 | 
						|
		GroupId:          3,
 | 
						|
		SetId:            4,
 | 
						|
		UseLocalFirewall: true,
 | 
						|
		Scope:            "global",
 | 
						|
	}
 | 
						|
 | 
						|
	encodedString, err := info.Encode()
 | 
						|
	if err != nil {
 | 
						|
		t.Fatal(err)
 | 
						|
	}
 | 
						|
	t.Log("["+types.String(len(encodedString))+"]", encodedString)
 | 
						|
 | 
						|
	{
 | 
						|
		urlEncodedString, encodeErr := info.URLEncoded()
 | 
						|
		if encodeErr != nil {
 | 
						|
			t.Fatal(encodeErr)
 | 
						|
		}
 | 
						|
		t.Log("["+types.String(len(urlEncodedString))+"]", urlEncodedString)
 | 
						|
	}
 | 
						|
 | 
						|
	var info2 = &waf.InfoArg{}
 | 
						|
	err = info2.Decode(encodedString)
 | 
						|
	if err != nil {
 | 
						|
		t.Fatal(err)
 | 
						|
	}
 | 
						|
	t.Logf("%+v", info2)
 | 
						|
}
 |