func (s *server) get(wr http.ResponseWriter, r *http.Request) { var ( ok bool bucket string filename string res meta.Response n *meta.Needle f *meta.File uerr errors.Error err error ) if r.Method != "GET" { http.Error(wr, "method not allowed", http.StatusMethodNotAllowed) return } if bucket = r.FormValue("bucket"); bucket == "" { http.Error(wr, "bad request", http.StatusBadRequest) return } if filename = r.FormValue("filename"); filename == "" { http.Error(wr, "bad request", http.StatusBadRequest) return } defer HttpGetWriter(r, wr, time.Now(), &res) if n, f, res.Stores, err = s.d.GetStores(bucket, filename); err != nil { log.Errorf("GetStores() error(%v)", err) if uerr, ok = err.(errors.Error); ok { res.Ret = int(uerr) } else { res.Ret = errors.RetInternalErr } return } res.Ret = errors.RetOK res.Key = n.Key res.Cookie = n.Cookie res.Vid = n.Vid res.Mine = f.Mine if f.MTime != 0 { res.MTime = f.MTime } else { res.MTime = n.MTime } res.Sha1 = f.Sha1 return }