Truncate long string when using pattern function (#100)
- Omits verbose responses when using pattern match - Change contains to match prefix and suffix, add 2nd test
This commit is contained in:
parent
8ec256edbf
commit
2c8714f1fa
@ -282,6 +282,15 @@ func prettify(parameters []string, resolvedParameters []string, operator string)
|
|||||||
if strings.HasSuffix(resolvedParameters[0], InvalidConditionElementSuffix) || strings.HasSuffix(resolvedParameters[1], InvalidConditionElementSuffix) {
|
if strings.HasSuffix(resolvedParameters[0], InvalidConditionElementSuffix) || strings.HasSuffix(resolvedParameters[1], InvalidConditionElementSuffix) {
|
||||||
return resolvedParameters[0] + " " + operator + " " + resolvedParameters[1]
|
return resolvedParameters[0] + " " + operator + " " + resolvedParameters[1]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If using pattern comparison, omit the contents
|
||||||
|
if strings.HasPrefix(parameters[0], PatternFunctionPrefix) && strings.HasSuffix(parameters[0], FunctionSuffix) && len(resolvedParameters[1]) > 25 {
|
||||||
|
resolvedParameters[1] = fmt.Sprintf("%.25s...(truncated)", resolvedParameters[1])
|
||||||
|
}
|
||||||
|
if strings.HasPrefix(parameters[1], PatternFunctionPrefix) && strings.HasSuffix(parameters[1], FunctionSuffix) && len(resolvedParameters[0]) > 25 {
|
||||||
|
resolvedParameters[0] = fmt.Sprintf("%.25s...(truncated)", resolvedParameters[0])
|
||||||
|
}
|
||||||
|
|
||||||
// First element is a placeholder
|
// First element is a placeholder
|
||||||
if parameters[0] != resolvedParameters[0] && parameters[1] == resolvedParameters[1] {
|
if parameters[0] != resolvedParameters[0] && parameters[1] == resolvedParameters[1] {
|
||||||
return parameters[0] + " (" + resolvedParameters[0] + ") " + operator + " " + parameters[1]
|
return parameters[0] + " (" + resolvedParameters[0] + ") " + operator + " " + parameters[1]
|
||||||
|
@ -274,6 +274,20 @@ func TestCondition_evaluate(t *testing.T) {
|
|||||||
ExpectedSuccess: true,
|
ExpectedSuccess: true,
|
||||||
ExpectedOutput: "[BODY] == pat(*<div id=\"user\">john.doe</div>*)",
|
ExpectedOutput: "[BODY] == pat(*<div id=\"user\">john.doe</div>*)",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "body-pattern-html-failure",
|
||||||
|
Condition: Condition("[BODY] == pat(*<div id=\"user\">john.doe</div>*)"),
|
||||||
|
Result: &Result{body: []byte(`<!DOCTYPE html><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body><div id="user">jane.doe</div></body></html>`)},
|
||||||
|
ExpectedSuccess: false,
|
||||||
|
ExpectedOutput: "[BODY] (<!DOCTYPE html><html lang...(truncated)) == pat(*<div id=\"user\">john.doe</div>*)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "body-pattern-html-failure-alt",
|
||||||
|
Condition: Condition("pat(*<div id=\"user\">john.doe</div>*) == [BODY]"),
|
||||||
|
Result: &Result{body: []byte(`<!DOCTYPE html><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body><div id="user">jane.doe</div></body></html>`)},
|
||||||
|
ExpectedSuccess: false,
|
||||||
|
ExpectedOutput: "pat(*<div id=\"user\">john.doe</div>*) == [BODY] (<!DOCTYPE html><html lang...(truncated))",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Name: "ip-pattern",
|
Name: "ip-pattern",
|
||||||
Condition: Condition("[IP] == pat(10.*)"),
|
Condition: Condition("[IP] == pat(10.*)"),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user