Skip to content

Commit 0bd27fb

Browse files
authored
Auto-extract value from ParamFlowArgument when blocked in ParamFlowSlot (alibaba#2776)
* Assign actual value with the result of paramFlowKey method
1 parent e0eb63e commit 0bd27fb

File tree

1 file changed

+4
-0
lines changed
  • sentinel-extension/sentinel-parameter-flow-control/src/main/java/com/alibaba/csp/sentinel/slots/block/flow/param

1 file changed

+4
-0
lines changed

sentinel-extension/sentinel-parameter-flow-control/src/main/java/com/alibaba/csp/sentinel/slots/block/flow/param/ParamFlowSlot.java

+4
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,10 @@ void checkFlow(ResourceWrapper resourceWrapper, int count, Object... args) throw
8282
String triggeredParam = "";
8383
if (args.length > rule.getParamIdx()) {
8484
Object value = args[rule.getParamIdx()];
85+
// Assign actual value with the result of paramFlowKey method
86+
if (value instanceof ParamFlowArgument) {
87+
value = ((ParamFlowArgument) value).paramFlowKey();
88+
}
8589
triggeredParam = String.valueOf(value);
8690
}
8791
throw new ParamFlowException(resourceWrapper.getName(), triggeredParam, rule);

0 commit comments

Comments
 (0)