func CreateProject(wr http.ResponseWriter, req *http.Request) { var ( decoder *json.Decoder encoder *json.Encoder proj *data.Project err error ) decoder = json.NewDecoder(req.Body) encoder = json.NewEncoder(wr) proj = data.NewProject() if err = decoder.Decode(proj); err != nil { log.Println(err.Error()) wr.WriteHeader(http.StatusBadRequest) encoder.Encode(NewErrorJSON(err.Error(), 400)) return } if _, err = proj.Save(); err != nil { log.Println(err.Error()) wr.WriteHeader(http.StatusInternalServerError) encoder.Encode(NewErrorJSONUnexpectedError(err.Error())) return } wr.WriteHeader(http.StatusCreated) encoder.Encode(proj) }