| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package context
- import (
- "encoding/xml"
- "net/http"
- )
- var xmlContentType = []string{"application/xml; charset=utf-8"}
- var plainContentType = []string{"text/plain; charset=utf-8"}
- //Render render from bytes
- func (ctx *Context) Render(bytes []byte) {
- //debug
- //fmt.Println("response msg = ", string(bytes))
- ctx.Writer.WriteHeader(200)
- _, err := ctx.Writer.Write(bytes)
- if err != nil {
- panic(err)
- }
- }
- //String render from string
- func (ctx *Context) String(str string) {
- writeContextType(ctx.Writer, plainContentType)
- ctx.Render([]byte(str))
- }
- //XML render to xml
- func (ctx *Context) XML(obj interface{}) {
- writeContextType(ctx.Writer, xmlContentType)
- bytes, err := xml.Marshal(obj)
- if err != nil {
- panic(err)
- }
- ctx.Render(bytes)
- }
- func writeContextType(w http.ResponseWriter, value []string) {
- header := w.Header()
- if val := header["Content-Type"]; len(val) == 0 {
- header["Content-Type"] = value
- }
- }
|