From: Tom Clegg Date: Thu, 30 Jul 2020 20:23:13 +0000 (-0400) Subject: 16535: Fix XML tags on ListBucket response, add XML headers. X-Git-Tag: 2.1.0~129^2~13 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/682bdcc34462afc37089d7769cf11fda6c04a45c 16535: Fix XML tags on ListBucket response, add XML headers. Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- diff --git a/services/keep-web/s3.go b/services/keep-web/s3.go index bc43c52436..7a25e9277e 100644 --- a/services/keep-web/s3.go +++ b/services/keep-web/s3.go @@ -71,6 +71,7 @@ func (h *handler) serveS3(w http.ResponseWriter, r *http.Request) bool { if _, ok := r.URL.Query()["versioning"]; ok { // GetBucketVersioning w.Header().Set("Content-Type", "application/xml") + io.WriteString(w, xml.Header) fmt.Fprintln(w, ``) } else { // ListObjects @@ -306,8 +307,13 @@ func (h *handler) s3list(w http.ResponseWriter, r *http.Request, fs arvados.Cust sort.Strings(resp.CommonPrefixes) } } + wrappedResp := struct { + XMLName string `xml:"http://s3.amazonaws.com/doc/2006-03-01/ ListBucketResult"` + s3.ListResp + }{"", resp} w.Header().Set("Content-Type", "application/xml") - if err := xml.NewEncoder(w).Encode(resp); err != nil { + io.WriteString(w, xml.Header) + if err := xml.NewEncoder(w).Encode(wrappedResp); err != nil { ctxlog.FromContext(r.Context()).WithError(err).Error("error writing xml response") } }