Browse Source

refactor api: lookup file id

pull/2/head
Chris Lu 11 years ago
parent
commit
d0473e27d9
  1. 16
      go/operation/delete_content.go
  2. 15
      go/operation/lookup_volume_id.go

16
go/operation/delete_content.go

@ -2,23 +2,15 @@ package operation
import ( import (
"code.google.com/p/weed-fs/go/glog" "code.google.com/p/weed-fs/go/glog"
"code.google.com/p/weed-fs/go/storage"
"net/http" "net/http"
) )
func DeleteFile(server string, fileId string) error { func DeleteFile(server string, fileId string) error {
fid, parseErr := storage.ParseFileId(fileId)
if parseErr != nil {
return parseErr
}
lookup, lookupError := Lookup(server, fid.VolumeId)
if lookupError != nil {
return lookupError
}
if len(lookup.Locations) == 0 {
return nil
fileUrl, err := LookupFileId(server, fileId)
if err != nil {
return err
} }
return Delete("http://" + lookup.Locations[0].PublicUrl + "/" + fileId)
return Delete(fileUrl)
} }
func Delete(url string) error { func Delete(url string) error {
req, err := http.NewRequest("DELETE", url, nil) req, err := http.NewRequest("DELETE", url, nil)

15
go/operation/lookup_volume_id.go

@ -35,3 +35,18 @@ func Lookup(server string, vid storage.VolumeId) (*LookupResult, error) {
} }
return &ret, nil return &ret, nil
} }
func LookupFileId(server string, fileId string) (fullUrl string, err error) {
fid, parseErr := storage.ParseFileId(fileId)
if parseErr != nil {
return "", parseErr
}
lookup, lookupError := Lookup(server, fid.VolumeId)
if lookupError != nil {
return "", lookupError
}
if len(lookup.Locations) == 0 {
return "", errors.New("File Not Found")
}
return "http://" + lookup.Locations[0].PublicUrl + "/" + fileId, nil
}
Loading…
Cancel
Save