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)

Reply via email to