RequestIdentity
The identity of one request to one aggregate's route: each fact (tenant, owner, aggregate ID, space, request ID) read where the route states it, by the same rules as the built-in command and query handlers (see RouteIdentityBinding), header aliases included. A custom handler reads identity through it, with ServerRequest.identity.
Creating it rejects a blank identity path variable the route declares (400), before any fact is read, so a blank segment is reported as such whatever else the request contradicts. A header contradicting a tenant or owner the path fixes is rejected (400) when that fact is read.
Functions
The aggregate ID: from the owner when the owner is the aggregate ID, else {id}, else Command-Aggregate-Id.
The owner a read filters by: ownerId, except that an owner derived from {id} is not a filter.