mirror of
https://github.com/TeaOSLab/EdgeNode.git
synced 2025-11-05 00:34:01 +08:00
61 lines
916 B
Go
61 lines
916 B
Go
package checkpoints
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/TeaOSLab/EdgeNode/internal/waf/requests"
|
|
)
|
|
|
|
type Checkpoint struct {
|
|
priority int
|
|
}
|
|
|
|
func (this *Checkpoint) Init() {
|
|
|
|
}
|
|
|
|
func (this *Checkpoint) IsRequest() bool {
|
|
return true
|
|
}
|
|
|
|
func (this *Checkpoint) IsComposed() bool {
|
|
return false
|
|
}
|
|
|
|
func (this *Checkpoint) ParamOptions() *ParamOptions {
|
|
return nil
|
|
}
|
|
|
|
func (this *Checkpoint) Options() []OptionInterface {
|
|
return nil
|
|
}
|
|
|
|
func (this *Checkpoint) Start() {
|
|
|
|
}
|
|
|
|
func (this *Checkpoint) Stop() {
|
|
|
|
}
|
|
|
|
func (this *Checkpoint) SetPriority(priority int) {
|
|
this.priority = priority
|
|
}
|
|
|
|
func (this *Checkpoint) Priority() int {
|
|
return this.priority
|
|
}
|
|
|
|
func (this *Checkpoint) RequestBodyIsEmpty(req requests.Request) bool {
|
|
if req.WAFRaw().ContentLength == 0 {
|
|
return true
|
|
}
|
|
|
|
var method = req.WAFRaw().Method
|
|
if method == http.MethodHead || method == http.MethodGet {
|
|
return true
|
|
}
|
|
|
|
return false
|
|
}
|