func createHandler()

in code/client/main.go [136:158]


func createHandler(svc trainerCRUDer) http.HandlerFunc {
	return func(w http.ResponseWriter, r *http.Request) {
		t := trainer{}

		if err := json.NewDecoder(r.Body).Decode(&t); err != nil {
			respond(w, r, http.StatusInternalServerError, nil, err)
			return
		}

		if err := svc.create(context.Background(), t); err != nil {
			respond(w, r, http.StatusInternalServerError, nil, err)
			return
		}

		j, err := json.Marshal(t)
		if err != nil {
			respond(w, r, http.StatusInternalServerError, nil, err)
			return
		}
		respond(w, r, http.StatusCreated, j, nil)
		return
	}
}