aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-07-25 20:06:40 -0700
committerChris Lu <chris.lu@gmail.com>2020-07-25 20:06:40 -0700
commit023a1efdf2b05a9e1595e9f95e5919a829d3fea7 (patch)
tree38ea73b74cdbcbf50eee7df21c4b9b1cad330f07
parent54eebf538f0e4b335bea5137dbcd0f0e20d9eb68 (diff)
downloadseaweedfs-023a1efdf2b05a9e1595e9f95e5919a829d3fea7.tar.xz
seaweedfs-023a1efdf2b05a9e1595e9f95e5919a829d3fea7.zip
set filename in Content-Disposition header
-rw-r--r--weed/server/common.go2
-rw-r--r--weed/server/filer_server_handlers_read.go6
-rw-r--r--weed/server/volume_server_handlers_read.go4
3 files changed, 6 insertions, 6 deletions
diff --git a/weed/server/common.go b/weed/server/common.go
index c43b144cb..7fc4d45f3 100644
--- a/weed/server/common.go
+++ b/weed/server/common.go
@@ -218,7 +218,7 @@ func handleStaticResources2(r *mux.Router) {
r.PathPrefix("/seaweedfsstatic/").Handler(http.StripPrefix("/seaweedfsstatic", http.FileServer(statikFS)))
}
-func adjustHeadersAfterHEAD(w http.ResponseWriter, r *http.Request, filename string) {
+func adjustHeaders(w http.ResponseWriter, r *http.Request, filename string) {
if filename != "" {
contentDisposition := "inline"
if r.FormValue("dl") != "" {
diff --git a/weed/server/filer_server_handlers_read.go b/weed/server/filer_server_handlers_read.go
index 76c924df1..aef490ff4 100644
--- a/weed/server/filer_server_handlers_read.go
+++ b/weed/server/filer_server_handlers_read.go
@@ -101,14 +101,14 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request,
}
setEtag(w, etag)
+ filename := entry.Name()
+ adjustHeaders(w, r, filename)
+
if r.Method == "HEAD" {
w.Header().Set("Content-Length", strconv.FormatInt(int64(filer2.TotalSize(entry.Chunks)), 10))
return
}
- filename := entry.Name()
- adjustHeadersAfterHEAD(w, r, filename)
-
totalSize := int64(filer2.TotalSize(entry.Chunks))
if rangeReq := r.Header.Get("Range"); rangeReq == "" {
diff --git a/weed/server/volume_server_handlers_read.go b/weed/server/volume_server_handlers_read.go
index d508849bc..1d1e0f1bb 100644
--- a/weed/server/volume_server_handlers_read.go
+++ b/weed/server/volume_server_handlers_read.go
@@ -244,13 +244,13 @@ func writeResponseContent(filename, mimeType string, rs io.ReadSeeker, w http.Re
}
w.Header().Set("Accept-Ranges", "bytes")
+ adjustHeaders(w, r, filename)
+
if r.Method == "HEAD" {
w.Header().Set("Content-Length", strconv.FormatInt(totalSize, 10))
return nil
}
- adjustHeadersAfterHEAD(w, r, filename)
-
processRangeRequest(r, w, totalSize, mimeType, func(writer io.Writer, offset int64, size int64) error {
if _, e = rs.Seek(offset, 0); e != nil {
return e