Beispiel #1
0
func handleProduct(service api.Service) {
	makeHandler("/product", func(w http.ResponseWriter, r *http.Request) {
		input := api.ProductInput{}
		err := decoder.Decode(&input, r.Form)
		if err != nil {
			fmt.Printf("%s\n", err)
		}

		productId := string("")
		if len(r.Form["productid"]) != 0 {
			productId = r.Form["productid"][0]
		}
		product, err := service.PutProduct(productId, input)
		if err != nil {
			fmt.Printf("%s\n", err)
			return
		}

		productBytes, err := json.Marshal(product)
		if err != nil {
			fmt.Printf("%s\n", err)
			return
		}

		fmt.Fprintf(w, string(productBytes))
	})
}