예제 #1
0
파일: recipes.go 프로젝트: jordan83/foodbox
func getRecipesHandler(w http.ResponseWriter, r *http.Request) {
	c := appengine.NewContext(r)
	service := NewService(c)

	recipes := service.FetchRecipes()
	response.WriteJson(w, recipes)
}
예제 #2
0
파일: recipe.go 프로젝트: jordan83/foodbox
func getRecipeHandler(w http.ResponseWriter, r *http.Request) {
	recipeId := getRecipeId(r)

	c := appengine.NewContext(r)
	service := NewService(c)

	recipe := service.FetchRecipe(recipeId)
	response.WriteJson(w, recipe)
}
예제 #3
0
파일: recipe.go 프로젝트: jordan83/foodbox
func addImageHandler(w http.ResponseWriter, r *http.Request) {
	c := appengine.NewContext(r)

	fileStore := context.NewFileStore(c)
	_, imageKey := fileStore.GetUploadedFileKey(r, "file")

	service := NewService(c)

	recipeId := getRecipeId(r)
	service.AddImageToRecipe(recipeId, imageKey)

	img := Image{serveImageRoute(imageKey)}
	response.WriteJson(w, img)
}
예제 #4
0
파일: recipes.go 프로젝트: jordan83/foodbox
func createRecipeHandler(w http.ResponseWriter, r *http.Request) {
	var recipe Recipe
	response.DecodeJson(r.Body, &recipe)

	c := appengine.NewContext(r)
	service := NewService(c)
	recipeModel, err := service.Add(&recipe)

	if err != nil {
		http.Error(w, err.Error(), http.StatusInternalServerError)
		return
	}

	response.WriteJson(w, recipeModel)
}
예제 #5
0
파일: main.go 프로젝트: jordan83/foodbox
func navHandler(w http.ResponseWriter, r *http.Request) {
	items := [1]Nav{Nav{Route: "/", Name: "Home"}}
	response.WriteJson(w, items)
}