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
This commit is contained in:
chris.lu@gmail.com 2012-07-03 06:46:26 +00:00
parent de6e1442d7
commit 74989d69c9
2 changed files with 13 additions and 6 deletions

View file

@ -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) {

View file

@ -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)