コード例 #1
0
ファイル: templates.go プロジェクト: nanopack/sherpa
// postTemplate
func postTemplate(rw http.ResponseWriter, req *http.Request) {

	dump, err := httputil.DumpRequestOut(req, true)
	if err != nil {
		fmt.Println("BOINK!", err.Error())
	}

	fmt.Println(`
Request:
--------------------------------------------------------------------------------
` + string(dump))

	// read the request body
	b, err := ioutil.ReadAll(req.Body)
	if err != nil {
		fmt.Println("READ ALL ERR!", err.Error())
		return
	}
	defer req.Body.Close()

	fmt.Println("BODY?", string(b))

	// create a new template
	t := models.Template{}
	if err := json.Unmarshal(b, &t); err != nil {
		fmt.Println("MARSHALL ERR!", err.Error())
		return
	}

	fmt.Printf("TEMPLATE?? %#v\n", t)

	// register the template (write it to the database)
	id, err := t.Register()
	if err != nil {
		fmt.Println("BONK!", err.Error())
		return
	}

	fmt.Println("Registered template", id)
}