func (vd *volDriver) snap(w http.ResponseWriter, r *http.Request) { var snapReq api.SnapCreateRequest var snapRes api.SnapCreateResponse method := "snap" if err := json.NewDecoder(r.Body).Decode(&snapReq); err != nil { vd.sendError(vd.name, method, w, err.Error(), http.StatusBadRequest) return } d, err := volume.Get(vd.name) if err != nil { vd.notFound(w, r) return } ID, err := d.Snapshot(snapReq.ID, snapReq.Labels) snapRes.VolumeResponse = api.VolumeResponse{Error: responseStatus(err)} snapRes.ID = ID json.NewEncoder(w).Encode(&snapRes) }