aboutsummaryrefslogtreecommitdiff
path: root/go/util/http_util.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2014-03-30 11:28:04 -0700
committerChris Lu <chris.lu@gmail.com>2014-03-30 11:28:04 -0700
commit2861275fb67112cb2fe51521b5052c3f1a98414d (patch)
treea86f0eeab6a0603d1217983430c11bb59632d87c /go/util/http_util.go
parent259c7d66f72938857ee94cc747fc54982fbbcb1f (diff)
downloadseaweedfs-2861275fb67112cb2fe51521b5052c3f1a98414d.tar.xz
seaweedfs-2861275fb67112cb2fe51521b5052c3f1a98414d.zip
working filer server!
Diffstat (limited to 'go/util/http_util.go')
-rw-r--r--go/util/http_util.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/go/util/http_util.go b/go/util/http_util.go
index e6f9f0184..a33db9199 100644
--- a/go/util/http_util.go
+++ b/go/util/http_util.go
@@ -6,6 +6,7 @@ import (
"io/ioutil"
"net/http"
"net/url"
+ "strings"
)
var (
@@ -71,3 +72,26 @@ func Delete(url string) error {
}
return nil
}
+
+func DownloadUrl(fileUrl string) (filename string, content []byte, e error) {
+ response, err := client.Get(fileUrl)
+ if err != nil {
+ return "", nil, err
+ }
+ 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="):]
+ }
+ } else {
+ glog.V(4).Info("No Content-Disposition!")
+ }
+ content, e = ioutil.ReadAll(response.Body)
+ return
+}
+
+func Do(req *http.Request) (resp *http.Response, err error) {
+ return client.Do(req)
+}