| // +build ignore,OMIT | |
| package resthandler // OMIT | |
| func finishStatus(r Result, complete bool) int { | |
| if !complete { | |
| return http.StatusAccepted // HL | |
| } | |
| if stat, ok := r.Object.(*api.Status); ok && stat.Code != 0 { | |
| return stat.Code // HL | |
| } | |
| if r.Created { | |
| return http.StatusCreated // HL | |
| } | |
| return http.StatusOK // HL | |
| } | |
| func (h *RESTHandler) finishReq(op *Operation, w http.ResponseWriter, req *http.Request) { | |
| result, complete := op.StatusOrResult() | |
| status := finishStatus(result, complete) // HL | |
| writeJSON(status, h.codec, result.Object, w) // HL | |
| } |