check method
Inspects context and returns a SecurityResult.
Implementations should be side-effect-light with respect to
context.body (avoid destructive mutation) but may freely read/write
context.metadata to communicate with later layers.
Implementation
@override
Future<SecurityResult> check(RequestContext context) async {
final size = _estimateSizeBytes(context.body);
context.setMeta('payloadSize', size);
if (size > maxPayloadSize) {
return SecurityResult.block(
message: 'Payload size ($size bytes) exceeds maximum allowed '
'($maxPayloadSize bytes)',
flags: const ['payload_too_large'],
riskScore: 0.9,
);
}
return SecurityResult.allow(message: 'Payload size within limits');
}