From 1f58b37a5e86603b16e137031c36f37580e9d410 Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Sun, 7 Oct 2018 18:42:43 -0700 Subject: Refactor HTTP response builder --- http/response/xml/xml.go | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'http/response/xml/xml.go') diff --git a/http/response/xml/xml.go b/http/response/xml/xml.go index bceb5f16..771a85ef 100644 --- a/http/response/xml/xml.go +++ b/http/response/xml/xml.go @@ -5,19 +5,24 @@ package xml // import "miniflux.app/http/response/xml" import ( - "fmt" "net/http" + + "miniflux.app/http/response" ) -// OK sends a XML document. -func OK(w http.ResponseWriter, data string) { - w.Header().Set("Content-Type", "text/xml") - w.Write([]byte(data)) +// OK writes a standard XML response with a status 200 OK. +func OK(w http.ResponseWriter, r *http.Request, body interface{}) { + builder := response.New(w, r) + builder.WithHeader("Content-Type", "text/xml; charset=utf-8") + builder.WithBody(body) + builder.Write() } -// Attachment forces the download of a XML document. -func Attachment(w http.ResponseWriter, filename, data string) { - w.Header().Set("Content-Type", "text/xml") - w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=%s", filename)) - w.Write([]byte(data)) +// Attachment forces the XML document to be downloaded by the web browser. +func Attachment(w http.ResponseWriter, r *http.Request, filename string, body interface{}) { + builder := response.New(w, r) + builder.WithHeader("Content-Type", "text/xml; charset=utf-8") + builder.WithAttachment(filename) + builder.WithBody(body) + builder.Write() } -- cgit v1.2.3