evaluateBreakpointCondition function
bool
evaluateBreakpointCondition(
- InfospectBreakpointCondition condition,
- InfospectBreakpointMatchContext context
Evaluates a single condition against context.
Implementation
bool evaluateBreakpointCondition(
InfospectBreakpointCondition condition,
InfospectBreakpointMatchContext context,
) {
if (condition.isResponseOnly && !context.isResponsePhase) {
// Response-only filters do not block request-phase matching.
return true;
}
switch (condition.target) {
case InfospectBreakpointMatchTarget.queryParam:
return _matchMapEntry(
context.queryParameters,
condition,
caseInsensitiveKey: true,
);
case InfospectBreakpointMatchTarget.requestHeader:
return _matchMapEntry(
context.requestHeaders,
condition,
caseInsensitiveKey: true,
);
case InfospectBreakpointMatchTarget.requestBodyText:
return _matchText(
_asSearchText(context.requestBody),
condition,
);
case InfospectBreakpointMatchTarget.requestBodyJson:
return _matchJsonPath(context.requestBody, condition);
case InfospectBreakpointMatchTarget.responseStatus:
return _matchStatus(context.statusCode, condition);
case InfospectBreakpointMatchTarget.responseBodyText:
return _matchText(
_asSearchText(context.responseBody),
condition,
);
case InfospectBreakpointMatchTarget.responseBodyJson:
return _matchJsonPath(context.responseBody, condition);
}
}