github.com/EngineerKamesh/gofullstack@v0.0.0-20180609171605-d41341d7d4ee/volume4/section2/gopherface/handlers/templatebundle.go (about) 1 package handlers 2 3 import ( 4 "bytes" 5 "encoding/gob" 6 "log" 7 "net/http" 8 9 "github.com/EngineerKamesh/gofullstack/volume4/section2/gopherface/common" 10 ) 11 12 func TemplateBundleHandler(env *common.Env) http.Handler { 13 return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 14 var templateContentItemsBuffer bytes.Buffer 15 enc := gob.NewEncoder(&templateContentItemsBuffer) 16 m := env.TemplateSet.Bundle().Items() 17 err := enc.Encode(&m) 18 if err != nil { 19 log.Print("encoding err: ", err) 20 } 21 w.Header().Set("Content-Type", "application/octet-stream") 22 w.Write(templateContentItemsBuffer.Bytes()) 23 }) 24 25 }