Files
EdgeNode/internal/waf/checkpoints/checkpoint_interface.go
2022-07-16 17:05:37 +08:00

37 lines
854 B
Go

package checkpoints
import (
"github.com/TeaOSLab/EdgeNode/internal/waf/requests"
"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) (value interface{}, hasRequestBody bool, sysErr error, userErr error)
// ResponseValue get response value
ResponseValue(req requests.Request, resp *requests.Response, param string, options maps.Map) (value interface{}, hasRequestBody bool, sysErr error, userErr error)
// ParamOptions param option list
ParamOptions() *ParamOptions
// Options options
Options() []OptionInterface
// Start start
Start()
// Stop stop
Stop()
}