Service Group feature (Delphi only)
We have added a new attribute that allows to specify service group for services and event sinks.
This attribute allows to filter content that will be included into .RODL that come to clients.
Note: Related stuff (enums, arrays, structs) will be included only if they are used. Exceptions will be always included.
- for RODL-based version, it was implemented via
ROServiceGroups
custom attribute:
- for Code-First version, via
ROServiceGroup
attriibute:
[ROService]
[ROServiceGroup('group1')]
[ROServiceGroup('group2')]
TNewService1 = class(TRORemotable)
When this attribute is specified in TROServer.ServiceGroup property it can work like a firewall: services that match conditions will be allowed and processed and they will be included into generated RODL.
usage:
- only services with
admin
service group will be allowed:
Server.ServiceGroup := 'admin';
- services without
admin
service group will be allowed:
Server.ServiceGroup := '!admin';
- only services with
user1
and w/oadmin
service group will be allowed:
Server.ServiceGroup := '!admin,user1';
You can provide servicegroup
query parameter in requests too. in this case only reduced RODL will be generated.
usage (the same as above):
- http://localhost:8099/rodl?servicegroup=admin
- http://localhost:8099/rodl?servicegroup=!admin
- http://localhost:8099/rodl?servicegroup=!admin,user1