21989: Keepstore: Use comma separator for X-Keep-Storage-Classes-Confirmed header
authorZoë Ma <zoe.ma@curii.com>
Mon, 8 Jul 2024 07:15:26 +0000 (15:15 +0800)
committerZoë Ma <zoe.ma@curii.com>
Mon, 8 Jul 2024 07:28:39 +0000 (15:28 +0800)
commit2f891cb46465e0f9109cbaf74d5fa3f295d21c1c
treec68274aa0383a3bc8f2467a41b328c67fb5ace12
parent71232417c04521f31345d6fdc6ed5021292c1e3b
21989: Keepstore: Use comma separator for X-Keep-Storage-Classes-Confirmed header

When generating the X-Keep-Storage-Classes-Confirmed header, use comma
(",") instead of semicolon (";") as the separator for multi-entry value.

This is to be consistent with keep-proxy's behavior and the arv-put
client's expectation. Plus, it follows RFC 9110 (see sec. 5.2).

Without the fix, arv-put wrongly believes that storage classes are not
supported on the cluster it is putting to. The spurious warning
"X-Keep-Storage-Classes header not supported by the cluster" can be seen
in arv-put messages and in Workbench2.

Arvados-DCO-1.1-Signed-off-by: Zoë Ma <zoe.ma@curii.com>
services/keepstore/router.go
services/keepstore/router_test.go