Browse Source

add error handling when non-multipart request comes in

git-svn-id: https://weed-fs.googlecode.com/svn/trunk@49 282b0af5-e82d-9cf1-ede4-77906d7719d0
pull/2/head
chris.lu@gmail.com 13 years ago
parent
commit
74989d69c9
  1. 13
      weed-fs/src/cmd/weedvolume/weedvolume.go
  2. 6
      weed-fs/src/pkg/storage/needle.go

13
weed-fs/src/cmd/weedvolume/weedvolume.go

@ -72,10 +72,15 @@ func PostHandler(w http.ResponseWriter, r *http.Request) {
if e != nil {
writeJson(w, r, e)
} else {
ret := store.Write(volumeId, storage.NewNeedle(r))
m := make(map[string]uint32)
m["size"] = ret
writeJson(w, r, m)
needle, ne := storage.NewNeedle(r)
if ne!=nil{
writeJson(w, r, ne)
}else{
ret := store.Write(volumeId, needle)
m := make(map[string]uint32)
m["size"] = ret
writeJson(w, r, m)
}
}
}
func DeleteHandler(w http.ResponseWriter, r *http.Request) {

6
weed-fs/src/pkg/storage/needle.go

@ -20,12 +20,14 @@ type Needle struct {
Padding []byte "Aligned to 8 bytes"
}
func NewNeedle(r *http.Request) (n *Needle) {
func NewNeedle(r *http.Request) (n *Needle, e error) {
n = new(Needle)
form, fe := r.MultipartReader()
if fe != nil {
log.Fatalf("MultipartReader [ERROR] %s\n", fe)
log.Printf("MultipartReader [ERROR] %s\n", fe)
e = fe
return
}
part, _ := form.NextPart()
data, _ := ioutil.ReadAll(part)

Loading…
Cancel
Save