seaweedfs/go/operation/delete_content.go

32 lines
699 B
Go
Raw Normal View History

2012-09-26 10:27:10 +00:00
package operation
import (
"code.google.com/p/weed-fs/go/glog"
2013-08-14 07:31:02 +00:00
"code.google.com/p/weed-fs/go/storage"
2013-01-17 08:56:56 +00:00
"net/http"
2012-09-26 10:27:10 +00:00
)
func DeleteFile(server string, fileId string) error {
2013-08-14 07:31:02 +00:00
fid, parseErr := storage.ParseFileId(fileId)
if parseErr != nil {
return parseErr
}
lookup, lookupError := Lookup(server, fid.VolumeId)
2013-08-14 07:31:02 +00:00
if lookupError != nil {
return lookupError
2013-08-14 07:31:02 +00:00
}
if len(lookup.Locations) == 0 {
return nil
2013-08-14 07:31:02 +00:00
}
return Delete("http://" + lookup.Locations[0].PublicUrl + "/" + fileId)
2013-08-14 07:31:02 +00:00
}
2012-09-26 10:27:10 +00:00
func Delete(url string) error {
req, err := http.NewRequest("DELETE", url, nil)
if err != nil {
glog.V(0).Infoln("failing to delete", url)
2012-09-26 10:27:10 +00:00
return err
}
_, err = http.DefaultClient.Do(req)
return err
}