Francesco Chicchiriccò created SYNCOPE-429:
----------------------------------------------
Summary: Support ETag-based conditional requests for users, roles
and resources
Key: SYNCOPE-429
URL: https://issues.apache.org/jira/browse/SYNCOPE-429
Project: Syncope
Issue Type: Improvement
Reporter: Francesco Chicchiriccò
Fix For: 1.2.0
SYNCOPE-15 introduced 'lastChangeDate' and 'creationDate' fields on some
entities (namely SyncopeUser, SyncopeRole and ExternalResource); such
information is then transferred to matching TO (e.g. UserTO, RoleTO and
ResourceTO).
This means that the respective services (UserService, RoleService and
ResourceService) could be enhanced in the following way:
1. add ETag response header to any method - directly or indirectly via
Response.Entity - generated from creationDate's or lastChangeDate's value
2. implement some "conditional GET" logic: depending on the value of If-*
request HTTP headers, a value (HTTP status 200) or no value (HTTP status 204)
will be returned
3. with the same idea, implement some "conditional POST/PUT" logic for update:
an effective update request will be effectively accepted only if provided ETag
matches the latest modification currently available
--
This message was sent by Atlassian JIRA
(v6.1#6144)