aboutsummaryrefslogtreecommitdiffhomepage
path: root/http/handler/xml_response.go
blob: 5b647a1744850e5e24e7980569a51d672e70420a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Copyright 2017 Frédéric Guillot. All rights reserved.
// Use of this source code is governed by the Apache 2.0
// license that can be found in the LICENSE file.

package handler

import (
	"fmt"
	"net/http"
)

// XMLResponse handles XML responses.
type XMLResponse struct {
	writer  http.ResponseWriter
	request *http.Request
}

// Download force the download of a XML document.
func (x *XMLResponse) Download(filename, data string) {
	x.writer.Header().Set("Content-Type", "text/xml")
	x.writer.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=%s", filename))
	x.writer.Write([]byte(data))
}

// Serve forces the XML to be sent to browser.
func (x *XMLResponse) Serve(data string) {
	x.writer.Header().Set("Content-Type", "text/xml")
	x.writer.Write([]byte(data))
}