From 4bc9e7cbec165209b2a6893fa466ac13b5706e42 Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Tue, 9 Sep 2025 08:38:11 -0700 Subject: [PATCH 1/3] Wip --- src/opendap/ngap/NgapBesApi.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/opendap/ngap/NgapBesApi.java b/src/opendap/ngap/NgapBesApi.java index fe9eb3f27..d6880275e 100644 --- a/src/opendap/ngap/NgapBesApi.java +++ b/src/opendap/ngap/NgapBesApi.java @@ -273,7 +273,12 @@ public Document getDap4RequestDocument(User user, addEdlAuthToken(request,user); - if(qp.computeChecksums()) + // @FIXME - THIS IS WHERE WE WOULD INVOKE OPTIONAL CHECKSUMS, BUT WE ARE MAKING THEM MANDATORY TO + // ACCOMMODATE BROKEN CLIENT CODE THAT EXPECTS THEM TO AWLAYS BE THERE. THIS WILL BREAK getdap4 + // AND ALL OF THE ASSOCIATED TESTS BECAUSE AT THE TIME THIS IS WRITTEN THERE IS NO WAY FOR A + // FOR A CLIENT TO KNOW THAT A DAP4 DATA RESPONSE CONTAINS CHECKSUMS. + // + // if(qp.computeChecksums()) request.addContent(setContextElement(DAP4_CHECKSUMS_CONTEXT,"true")); request.addContent(setContainerElement(getBesContainerName(), From 7498d0eeba07eb63e944824356010b190edd91c1 Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Tue, 9 Sep 2025 09:37:48 -0700 Subject: [PATCH 2/3] * Tweaked checksums ON change to only apply to DAP=4 Data Responses and not to DMR-only responses. --- src/opendap/ngap/NgapBesApi.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/opendap/ngap/NgapBesApi.java b/src/opendap/ngap/NgapBesApi.java index d6880275e..e8da53f78 100644 --- a/src/opendap/ngap/NgapBesApi.java +++ b/src/opendap/ngap/NgapBesApi.java @@ -279,6 +279,7 @@ public Document getDap4RequestDocument(User user, // FOR A CLIENT TO KNOW THAT A DAP4 DATA RESPONSE CONTAINS CHECKSUMS. // // if(qp.computeChecksums()) + if(type.equalsIgnoreCase(DAP4_DATA)) request.addContent(setContextElement(DAP4_CHECKSUMS_CONTEXT,"true")); request.addContent(setContainerElement(getBesContainerName(), From 6dc94af3d901ab5a8483ac4027f73c45ad6c6e56 Mon Sep 17 00:00:00 2001 From: ndp-opendap Date: Tue, 9 Sep 2025 09:54:08 -0700 Subject: [PATCH 3/3] * Tweaked checksums for DMR-only response to work on request --- src/opendap/ngap/NgapBesApi.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/opendap/ngap/NgapBesApi.java b/src/opendap/ngap/NgapBesApi.java index e8da53f78..6c2d56fdc 100644 --- a/src/opendap/ngap/NgapBesApi.java +++ b/src/opendap/ngap/NgapBesApi.java @@ -279,9 +279,10 @@ public Document getDap4RequestDocument(User user, // FOR A CLIENT TO KNOW THAT A DAP4 DATA RESPONSE CONTAINS CHECKSUMS. // // if(qp.computeChecksums()) - if(type.equalsIgnoreCase(DAP4_DATA)) - request.addContent(setContextElement(DAP4_CHECKSUMS_CONTEXT,"true")); - + if(type.equalsIgnoreCase(DAP4_DATA) || + (type.equalsIgnoreCase(DAP4_DMR) && qp.computeChecksums()) ) { + request.addContent(setContextElement(DAP4_CHECKSUMS_CONTEXT, "true")); + } request.addContent(setContainerElement(getBesContainerName(), getBesSpaceName(),remoteDataSourceUrl,type));