Bug description
The APIs for requesting a bundle (/api/v1/clients/{clientId}/bundles/{digest}) or single deployment (/api/v1/clients/{clientId}/deployments/{deploymentId}/{digest}) call for the If-None-Match header to allow caching. While I understand the principal mechanism behind the If-None-Match header and 304 response it feels unnecessary and confusing for these two cases.
A context aware client knows that these resources are addressed by their digest which means they can not change. So I see no reason why a client would send the request if it already has the response cached.
The response on /api/v1/clients/{clientId}/deployments/{deploymentId}/{digest} also has no 304 response defined.
Proposed fix
Drop the If-None-Headers for both paths and the 304 response for /api/v1/clients/{clientId}/bundles/{digest}
Anything else (optional)
https://github.com/margo/specification/blob/pre-draft/system-design/specification/margo-management-interface/workload-management-api-1.0.0.yaml
Bug description
The APIs for requesting a bundle (
/api/v1/clients/{clientId}/bundles/{digest}) or single deployment (/api/v1/clients/{clientId}/deployments/{deploymentId}/{digest}) call for theIf-None-Matchheader to allow caching. While I understand the principal mechanism behind theIf-None-Matchheader and304response it feels unnecessary and confusing for these two cases.A context aware client knows that these resources are addressed by their digest which means they can not change. So I see no reason why a client would send the request if it already has the response cached.
The response on
/api/v1/clients/{clientId}/deployments/{deploymentId}/{digest}also has no 304 response defined.Proposed fix
Drop the If-None-Headers for both paths and the
304response for/api/v1/clients/{clientId}/bundles/{digest}Anything else (optional)
https://github.com/margo/specification/blob/pre-draft/system-design/specification/margo-management-interface/workload-management-api-1.0.0.yaml