1. If-Match should be evaluated in a DELETE request. 2. In response to PUT, PATCH requests the E-Tag should contain the E-Tag from after the modification. 3. a POST request could also add an E-Tag to its response.
MR: https://git.knut.univention.de/univention/ucs/-/merge_requests/925
Please elaborate shortly on what the use case is for the »1.« feature.
(In reply to Daniel Tröder from comment #2) > Please elaborate shortly on what the use case is for the »1.« feature. If you want to DELETE a object you can make sure that the current version you have fetched has not been changed upstream. So that it's still untouched and nobody has changed it in the meantime. Having this also allows e.g. in a web UI to display a dialog saying "The object you want to remove has been changed since you opened it. Do you really want to remove this object?".
If-Match is now respected in DELETE, the error message has been enhanced, PUT,PATCH,POST returns E-Tag and no-cache Cache-Control, OpenAPI schema has been extended (it already told about these headers), dev-reference was updated. univention-directory-manager-rest.yaml 3b78c703088f | fix(udm-rest): check for conditional request in DELETE request univention-directory-manager-rest (10.0.6-11) 3b78c703088f | fix(udm-rest): check for conditional request in DELETE request univention-directory-manager-modules.yaml 3b78c703088f | fix(udm-rest): check for conditional request in DELETE request univention-directory-manager-modules (15.0.24-20) 3b78c703088f | fix(udm-rest): check for conditional request in DELETE request ucs-test (10.0.19-19) 662393c23941 | test(udm-rest): test all possible If-Match combinations e4c321cd69d5 | test(udm-rest): use pytest fixtures
Reproduced: OK Code: OK Tests: OK Package-Build: OK Documentation: OK Errata YAML: OK
<https://errata.software-univention.de/#/?erratum=5.0x856> <https://errata.software-univention.de/#/?erratum=5.0x857>