Versions in this module Expand all Collapse all v3 v3.0.1 Nov 3, 2022 Changes in this version + type Action interface + Evaluate func(RuleMetadata, TransactionState) + Init func(RuleMetadata, string) error + Type func() ActionType + type ActionType int + const ActionTypeData + const ActionTypeDisruptive + const ActionTypeFlow + const ActionTypeMetadata + const ActionTypeNondisruptive + type Operator interface + Evaluate func(TransactionState, string) bool + type OperatorFactory func(options OperatorOptions) (Operator, error) + type OperatorOptions struct + Arguments string + Datasets map[string][]string + Path []string + Root fs.FS + type Rule interface + Evaluate func(state TransactionState) []types.MatchData + type RuleMetadata interface + ID func() int + ParentID func() int + Status func() int + type TransactionState interface + CaptureField func(idx int, value string) + Capturing func() bool + Collection func(idx variables.RuleVariable) collection.Collection + ContentInjection func() bool + DebugLogger func() loggers.DebugLogger + ID func() string + Interrupt func(interruption *types.Interruption) + ResponseBodyWriter func() io.Writer + Variables func() TransactionVariables + type TransactionVariables interface + Args func() *collection.Proxy + ArgsCombinedSize func() *collection.SizeProxy + ArgsGet func() *collection.Map + ArgsGetNames func() *collection.TranslationProxy + ArgsNames func() *collection.TranslationProxy + ArgsPath func() *collection.Map + ArgsPost func() *collection.Map + ArgsPostNames func() *collection.TranslationProxy + AuthType func() *collection.Simple + Duration func() *collection.Simple + Env func() *collection.Map + Files func() *collection.Map + FilesCombinedSize func() *collection.Simple + FilesNames func() *collection.Map + FilesSizes func() *collection.Map + FilesTmpContent func() *collection.Map + FilesTmpNames func() *collection.Map + FullRequest func() *collection.Simple + FullRequestLength func() *collection.Simple + Geo func() *collection.Map + HighestSeverity func() *collection.Simple + IP func() *collection.Map + InboundDataError func() *collection.Simple + InboundErrorData func() *collection.Simple + MatchedVar func() *collection.Simple + MatchedVarName func() *collection.Simple + MatchedVars func() *collection.Map + MatchedVarsNames func() *collection.Map + MultipartBoundaryQuoted func() *collection.Simple + MultipartBoundaryWhitespace func() *collection.Simple + MultipartCrlfLfLines func() *collection.Simple + MultipartDataAfter func() *collection.Simple + MultipartDataBefore func() *collection.Simple + MultipartFileLimitExceeded func() *collection.Simple + MultipartFilename func() *collection.Map + MultipartHeaderFolding func() *collection.Simple + MultipartInvalidHeaderFolding func() *collection.Simple + MultipartInvalidPart func() *collection.Simple + MultipartInvalidQuoting func() *collection.Simple + MultipartLfLine func() *collection.Simple + MultipartMissingSemicolon func() *collection.Simple + MultipartName func() *collection.Map + MultipartPartHeaders func() *collection.Map + MultipartStrictError func() *collection.Simple + MultipartUnmatchedBoundary func() *collection.Simple + OutboundDataError func() *collection.Simple + PathInfo func() *collection.Simple + QueryString func() *collection.Simple + RemoteAddr func() *collection.Simple + RemoteHost func() *collection.Simple + RemotePort func() *collection.Simple + RequestBasename func() *collection.Simple + RequestBody func() *collection.Simple + RequestBodyError func() *collection.Simple + RequestBodyErrorMsg func() *collection.Simple + RequestBodyLength func() *collection.Simple + RequestBodyProcessor func() *collection.Simple + RequestBodyProcessorError func() *collection.Simple + RequestBodyProcessorErrorMsg func() *collection.Simple + RequestCookies func() *collection.Map + RequestCookiesNames func() *collection.Map + RequestFilename func() *collection.Simple + RequestHeaders func() *collection.Map + RequestHeadersNames func() *collection.Map + RequestLine func() *collection.Simple + RequestMethod func() *collection.Simple + RequestProtocol func() *collection.Simple + RequestURI func() *collection.Simple + RequestURIRaw func() *collection.Simple + RequestXML func() *collection.Map + ResponseBody func() *collection.Simple + ResponseContentLength func() *collection.Simple + ResponseContentType func() *collection.Simple + ResponseHeaders func() *collection.Map + ResponseHeadersNames func() *collection.Map + ResponseProtocol func() *collection.Simple + ResponseStatus func() *collection.Simple + ResponseXML func() *collection.Map + Rule func() *collection.Map + ServerAddr func() *collection.Simple + ServerName func() *collection.Simple + ServerPort func() *collection.Simple + SessionID func() *collection.Simple + StatusLine func() *collection.Simple + TX func() *collection.Map + UniqueID func() *collection.Simple + UrlencodedError func() *collection.Simple + UserID func() *collection.Simple + XML func() *collection.Map + type Transformation = func(input string) (string, error)