aboutsummaryrefslogtreecommitdiff
path: root/weed-fs/src
diff options
context:
space:
mode:
authorchris.lu@gmail.com <chris.lu@gmail.com@282b0af5-e82d-9cf1-ede4-77906d7719d0>2012-07-03 06:46:26 +0000
committerchris.lu@gmail.com <chris.lu@gmail.com@282b0af5-e82d-9cf1-ede4-77906d7719d0>2012-07-03 06:46:26 +0000
commit74989d69c9ca78c895d84580ae2ce61e565336db (patch)
tree933c3d648eda79b07a6e09c18afb95fc292498c0 /weed-fs/src
parentde6e1442d7ae1266bdd29a099376fe255cd35eda (diff)
downloadseaweedfs-74989d69c9ca78c895d84580ae2ce61e565336db.tar.xz
seaweedfs-74989d69c9ca78c895d84580ae2ce61e565336db.zip
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
Diffstat (limited to 'weed-fs/src')
-rw-r--r--weed-fs/src/cmd/weedvolume/weedvolume.go13
-rw-r--r--weed-fs/src/pkg/storage/needle.go6
2 files changed, 13 insertions, 6 deletions
diff --git a/weed-fs/src/cmd/weedvolume/weedvolume.go b/weed-fs/src/cmd/weedvolume/weedvolume.go
index d2bd0daf6..e31b5cd0c 100644
--- a/weed-fs/src/cmd/weedvolume/weedvolume.go
+++ b/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) {
diff --git a/weed-fs/src/pkg/storage/needle.go b/weed-fs/src/pkg/storage/needle.go
index dff46b97a..b9d2a1300 100644
--- a/weed-fs/src/pkg/storage/needle.go
+++ b/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)