podman
1// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
2// Use of this source code is governed by a MIT style
3// license that can be found in the LICENSE file.
4
5package render
6
7import "net/http"
8
9// Render interface is to be implemented by JSON, XML, HTML, YAML and so on.
10type Render interface {
11// Render writes data with custom ContentType.
12Render(http.ResponseWriter) error
13// WriteContentType writes custom ContentType.
14WriteContentType(w http.ResponseWriter)
15}
16
17var (
18_ Render = JSON{}
19_ Render = IndentedJSON{}
20_ Render = SecureJSON{}
21_ Render = JsonpJSON{}
22_ Render = XML{}
23_ Render = String{}
24_ Render = Redirect{}
25_ Render = Data{}
26_ Render = HTML{}
27_ HTMLRender = HTMLDebug{}
28_ HTMLRender = HTMLProduction{}
29_ Render = YAML{}
30_ Render = Reader{}
31_ Render = AsciiJSON{}
32_ Render = ProtoBuf{}
33_ Render = TOML{}
34)
35
36func writeContentType(w http.ResponseWriter, value []string) {
37header := w.Header()
38if val := header["Content-Type"]; len(val) == 0 {
39header["Content-Type"] = value
40}
41}
42