mirror of
https://github.com/TeaOSLab/EdgeNode.git
synced 2025-11-04 16:00:25 +08:00
47 lines
1.1 KiB
Go
47 lines
1.1 KiB
Go
package checkpoints
|
|
|
|
import (
|
|
"github.com/TeaOSLab/EdgeNode/internal/waf/requests"
|
|
"github.com/TeaOSLab/EdgeNode/internal/waf/utils"
|
|
"github.com/iwind/TeaGo/maps"
|
|
)
|
|
|
|
// CheckpointInterface Check Point
|
|
type CheckpointInterface interface {
|
|
// Init initialize
|
|
Init()
|
|
|
|
// IsRequest is request?
|
|
IsRequest() bool
|
|
|
|
// IsComposed is composed?
|
|
IsComposed() bool
|
|
|
|
// RequestValue get request value
|
|
RequestValue(req requests.Request, param string, options maps.Map, ruleId int64) (value any, hasRequestBody bool, sysErr error, userErr error)
|
|
|
|
// ResponseValue get response value
|
|
ResponseValue(req requests.Request, resp *requests.Response, param string, options maps.Map, ruleId int64) (value any, hasRequestBody bool, sysErr error, userErr error)
|
|
|
|
// ParamOptions param option list
|
|
ParamOptions() *ParamOptions
|
|
|
|
// Options options
|
|
Options() []OptionInterface
|
|
|
|
// Start start
|
|
Start()
|
|
|
|
// Stop stop
|
|
Stop()
|
|
|
|
// SetPriority set priority
|
|
SetPriority(priority int)
|
|
|
|
// Priority get priority
|
|
Priority() int
|
|
|
|
// CacheLife regexp cache life
|
|
CacheLife() utils.CacheLife
|
|
}
|