示例#1
0
func handleDeleteJob(w http.ResponseWriter, r *http.Request) {
	token, err := ParseToken(r)
	if err != nil {
		WriteJsonErr(w, 401, err)
		return
	}

	matches := jobPat.FindStringSubmatch(r.URL.Path)
	if len(matches) < 2 || len(matches[1]) == 0 {
		WriteJsonErr(w, 400, errors.New("Job id not found."))
		return
	}
	// Trim the forward slash that came from the url path.
	id := string(matches[1][1:])
	if len(id) == 0 {
		WriteJsonErr(w, 400, errors.New("Job id not found."))
		return
	}
	job := store.Job{Id: id, QueueId: token}
	if err := job.Delete(); err != nil {
		WriteJsonErr(w, 400, err)
		return
	}
	WriteJson(w, 200, job)
}