Dagens Nikita støtter to måter å bruke etag på. Aktuelle endepunkter gir ut en etag-verdi med "ETag:"-hodefeltet i HTTP-responser, som så kan tas imot i forespørsler som skal oppdatere entiteter. Dette siste mottas enten med "If-Match:" eller med "ETag:", se getETag() i AbstractEntityWebService.java. I følge <URL: https://datatracker.ietf.org/doc/html/rfc7232 >, er det kun den første som er i tråd med standarden, og den andre må være noe historiske rester i Niktita. Er det noen grunn til å beholde støtte for det ikke-standardiserte hodefeltet?
Hvis ikke, så foreslår jeg å fjerne støtten og oppdatere alle tester som sender inn ETAG. Jeg har oppdatert mange tester allerede, men det kan være noen igjen.
Jeg foreslår altså følgende endring:
diff --git a/src/main/java/app/service/noark5/AbstractEntityWebService.java b/src/main/java/app/service/noark5/AbstractEntityWebService.java index e634db5ae..9a558e343 100644 --- a/src/main/java/app/service/noark5/AbstractEntityWebService.java +++ b/src/main/java/app/service/noark5/AbstractEntityWebService.java @@ -93,9 +93,6 @@ public class AbstractEntityWebService { } HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest(); String eTag = request.getHeader(IF_MATCH); - if (eTag == null) { - eTag = request.getHeader(ETAG); - } if (eTag == null) { throw new NikitaMalformedHeaderException(ERROR_MISSING_ETAG); }
Hva tenker dere andre?