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 render6
7import (8"net/http"9
10"gopkg.in/yaml.v3"11)
12
13// YAML contains the given interface object.
14type YAML struct {15Data any
16}
17
18var yamlContentType = []string{"application/x-yaml; charset=utf-8"}19
20// Render (YAML) marshals the given interface object and writes data with custom ContentType.
21func (r YAML) Render(w http.ResponseWriter) error {22r.WriteContentType(w)23
24bytes, err := yaml.Marshal(r.Data)25if err != nil {26return err27}28
29_, err = w.Write(bytes)30return err31}
32
33// WriteContentType (YAML) writes YAML ContentType for response.
34func (r YAML) WriteContentType(w http.ResponseWriter) {35writeContentType(w, yamlContentType)36}
37