Want to read in external properties from a JSON schema for routerFunctionWebHandle but this cannot be easily extended/overwritten without entire routerfunctions class needing overwritten.

Suggest abstracting these out.

Comment From: snicoll

Please take the time to describe the use case if you want us to consider a change. Since you seem to have tried something already, sharing a small sample that represents that is the next logical step for us to review. Thanks.

Comment From: orubel

I am wanting to upload external API RULES from a JSON schema to not only set ROUTING but to also set RBAC/ABAC settings (ie ROLES) for the endpoints.

The ROUTING can be dne with ROUTERFUNCTIONS (I know this) BUT... applying ROLES dynamically as well as the expected request params/response params associated with each ROLE per endpoint requires access to something similar to a 'RequestHandler'

And from my understanding, all these are inner classes, have been made PRIVATE and are combined into one class.

This makes it impossible to extend.

Does this help??

Comment From: poutsma

These types are internal by design, and supposed to be extended. Instead, they are designed to be composed on.

The main reason for this is backward compatibility: having private types allows us much more flexibility, whereas public types would need to be backward compatible to a far higher degree.