Browse Source

refactoring

pull/2/head
Chris Lu 12 years ago
parent
commit
d056c622bf
  1. 9
      weed-fs/src/cmd/weed/volume.go

9
weed-fs/src/cmd/weed/volume.go

@ -128,7 +128,7 @@ func GetHandler(w http.ResponseWriter, r *http.Request) {
w.Write(n.Data) w.Write(n.Data)
} }
func PostHandler(w http.ResponseWriter, r *http.Request) { func PostHandler(w http.ResponseWriter, r *http.Request) {
r.ParseForm()
r.ParseForm()
vid, _, _ := parseURLPath(r.URL.Path) vid, _, _ := parseURLPath(r.URL.Path)
volumeId, e := storage.NewVolumeId(vid) volumeId, e := storage.NewVolumeId(vid)
if e != nil { if e != nil {
@ -139,11 +139,9 @@ func PostHandler(w http.ResponseWriter, r *http.Request) {
writeJson(w, r, ne) writeJson(w, r, ne)
} else { } else {
ret := store.Write(volumeId, needle) ret := store.Write(volumeId, needle)
if ret > 0 || !store.HasVolume(volumeId){ //send to other replica locations
if ret > 0 || !store.HasVolume(volumeId) { //send to other replica locations
if r.FormValue("type") != "standard" { if r.FormValue("type") != "standard" {
waitTime, err := strconv.Atoi(r.FormValue("wait"))
lookupResult, lookupErr := operation.Lookup(*server, volumeId)
if lookupErr == nil {
if lookupResult, lookupErr := operation.Lookup(*server, volumeId); lookupErr == nil {
sendFunc := func(background bool) { sendFunc := func(background bool) {
postContentFunc := func(location operation.Location) bool { postContentFunc := func(location operation.Location) bool {
operation.Upload("http://"+location.PublicUrl+r.URL.Path+"?type=standard", filename, bytes.NewReader(needle.Data)) operation.Upload("http://"+location.PublicUrl+r.URL.Path+"?type=standard", filename, bytes.NewReader(needle.Data))
@ -159,6 +157,7 @@ func PostHandler(w http.ResponseWriter, r *http.Request) {
} }
} }
} }
waitTime, err := strconv.Atoi(r.FormValue("wait"))
sendFunc(err == nil && waitTime > 0) sendFunc(err == nil && waitTime > 0)
} else { } else {
log.Println("Failed to lookup for", volumeId, lookupErr.Error()) log.Println("Failed to lookup for", volumeId, lookupErr.Error())

Loading…
Cancel
Save