|
|
@ -2,7 +2,6 @@ package util |
|
|
|
|
|
|
|
import ( |
|
|
|
"bytes" |
|
|
|
"code.google.com/p/weed-fs/go/glog" |
|
|
|
"fmt" |
|
|
|
"io/ioutil" |
|
|
|
"net/http" |
|
|
@ -25,13 +24,11 @@ func init() { |
|
|
|
func PostBytes(url string, body []byte) ([]byte, error) { |
|
|
|
r, err := client.Post(url, "application/octet-stream", bytes.NewReader(body)) |
|
|
|
if err != nil { |
|
|
|
glog.V(0).Infoln(err) |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
defer r.Body.Close() |
|
|
|
b, err := ioutil.ReadAll(r.Body) |
|
|
|
if err != nil { |
|
|
|
glog.V(0).Infoln("read post result from", url, err) |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
return b, nil |
|
|
@ -40,13 +37,11 @@ func PostBytes(url string, body []byte) ([]byte, error) { |
|
|
|
func Post(url string, values url.Values) ([]byte, error) { |
|
|
|
r, err := client.PostForm(url, values) |
|
|
|
if err != nil { |
|
|
|
glog.V(0).Infoln(err) |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
defer r.Body.Close() |
|
|
|
b, err := ioutil.ReadAll(r.Body) |
|
|
|
if err != nil { |
|
|
|
glog.V(0).Infoln("read post result from", url, err) |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
return b, nil |
|
|
@ -55,7 +50,6 @@ func Post(url string, values url.Values) ([]byte, error) { |
|
|
|
func Get(url string) ([]byte, error) { |
|
|
|
r, err := client.Get(url) |
|
|
|
if err != nil { |
|
|
|
glog.V(0).Infoln(err) |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
defer r.Body.Close() |
|
|
@ -64,7 +58,6 @@ func Get(url string) ([]byte, error) { |
|
|
|
return nil, fmt.Errorf("%s: %s", url, r.Status) |
|
|
|
} |
|
|
|
if err != nil { |
|
|
|
glog.V(0).Infoln("read get result from", url, err) |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
return b, nil |
|
|
@ -73,17 +66,14 @@ func Get(url string) ([]byte, error) { |
|
|
|
func Delete(url string) error { |
|
|
|
req, err := http.NewRequest("DELETE", url, nil) |
|
|
|
if err != nil { |
|
|
|
glog.V(0).Infoln("failing to delete", url) |
|
|
|
return err |
|
|
|
} |
|
|
|
resp, e := client.Do(req) |
|
|
|
if e != nil { |
|
|
|
glog.V(0).Infoln(e) |
|
|
|
return e |
|
|
|
} |
|
|
|
defer resp.Body.Close() |
|
|
|
if _, err := ioutil.ReadAll(resp.Body); err != nil { |
|
|
|
glog.V(0).Infoln("read get result from", url, err) |
|
|
|
return err |
|
|
|
} |
|
|
|
return nil |
|
|
@ -97,13 +87,10 @@ func DownloadUrl(fileUrl string) (filename string, content []byte, e error) { |
|
|
|
defer response.Body.Close() |
|
|
|
contentDisposition := response.Header["Content-Disposition"] |
|
|
|
if len(contentDisposition) > 0 { |
|
|
|
glog.V(4).Info("Content-Disposition: ", contentDisposition[0]) |
|
|
|
if strings.HasPrefix(contentDisposition[0], "filename=") { |
|
|
|
filename = contentDisposition[0][len("filename="):] |
|
|
|
filename = strings.Trim(filename, "\"") |
|
|
|
} |
|
|
|
} else { |
|
|
|
glog.V(4).Info("No Content-Disposition!") |
|
|
|
} |
|
|
|
content, e = ioutil.ReadAll(response.Body) |
|
|
|
return |
|
|
|