Browse Source

handle special case when browser also asks for favicon.ico

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

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

@ -72,15 +72,15 @@ func PostHandler(w http.ResponseWriter, r *http.Request) {
if e != nil { if e != nil {
writeJson(w, r, e) writeJson(w, r, e)
} else { } else {
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)
}
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) { func DeleteHandler(w http.ResponseWriter, r *http.Request) {
@ -132,7 +132,9 @@ func parseURLPath(path string) (vid, fid, ext string) {
sepIndex := strings.LastIndex(path, "/") sepIndex := strings.LastIndex(path, "/")
commaIndex := strings.LastIndex(path[sepIndex:], ",") commaIndex := strings.LastIndex(path[sepIndex:], ",")
if commaIndex <= 0 { if commaIndex <= 0 {
log.Println("unknown file id", path[sepIndex+1:])
if "favicon.ico" != path[sepIndex+1:] {
log.Println("unknown file id", path[sepIndex+1:])
}
return return
} }
dotIndex := strings.LastIndex(path[sepIndex:], ".") dotIndex := strings.LastIndex(path[sepIndex:], ".")
@ -158,7 +160,7 @@ func main() {
go func() { go func() {
for { for {
store.Join(*metaServer) store.Join(*metaServer)
time.Sleep(time.Duration(float32(*pulse * 1e3) *(1 + rand.Float32()))*time.Millisecond)
time.Sleep(time.Duration(float32(*pulse*1e3)*(1+rand.Float32())) * time.Millisecond)
} }
}() }()
log.Println("store joined at", *metaServer) log.Println("store joined at", *metaServer)

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

@ -7,8 +7,8 @@ import (
"log" "log"
"net/http" "net/http"
"os" "os"
"pkg/util"
"strings" "strings"
"pkg/util"
) )
type Needle struct { type Needle struct {
@ -47,7 +47,9 @@ func NewNeedle(r *http.Request) (n *Needle, e error) {
func (n *Needle) ParsePath(fid string) { func (n *Needle) ParsePath(fid string) {
length := len(fid) length := len(fid)
if length <= 8 { if length <= 8 {
log.Println("Invalid fid", fid, "length", length)
if length > 0 {
log.Println("Invalid fid", fid, "length", length)
}
return return
} }
n.Key, n.Cookie = ParseKeyHash(fid) n.Key, n.Cookie = ParseKeyHash(fid)

Loading…
Cancel
Save