aboutsummaryrefslogtreecommitdiff
path: root/weed/server/filer_server_handlers.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2021-01-23 03:43:48 -0800
committerChris Lu <chris.lu@gmail.com>2021-01-23 03:43:48 -0800
commit937cfacc01c0acd27f352f1f57b8abd6f1e8bc56 (patch)
tree1efa593e6a77a38a3e36e8340383c7ada45c3b8a /weed/server/filer_server_handlers.go
parent3ecd989500c9ee23460b3707e5713f944346d070 (diff)
downloadseaweedfs-937cfacc01c0acd27f352f1f57b8abd6f1e8bc56.tar.xz
seaweedfs-937cfacc01c0acd27f352f1f57b8abd6f1e8bc56.zip
filer: add "proxyToFileId" to reverse proxy to a volume server
Diffstat (limited to 'weed/server/filer_server_handlers.go')
-rw-r--r--weed/server/filer_server_handlers.go13
1 files changed, 10 insertions, 3 deletions
diff --git a/weed/server/filer_server_handlers.go b/weed/server/filer_server_handlers.go
index 451e2a2de..5b93c6d08 100644
--- a/weed/server/filer_server_handlers.go
+++ b/weed/server/filer_server_handlers.go
@@ -17,9 +17,16 @@ func (fs *FilerServer) filerHandler(w http.ResponseWriter, r *http.Request) {
start := time.Now()
switch r.Method {
case "GET":
- stats.FilerRequestCounter.WithLabelValues("get").Inc()
- fs.GetOrHeadHandler(w, r, true)
- stats.FilerRequestHistogram.WithLabelValues("get").Observe(time.Since(start).Seconds())
+ fileId := r.FormValue("proxyToFileId")
+ if fileId != "" {
+ stats.FilerRequestCounter.WithLabelValues("proxy").Inc()
+ fs.proxyToVolumeServer(w,r,fileId)
+ stats.FilerRequestHistogram.WithLabelValues("proxy").Observe(time.Since(start).Seconds())
+ } else {
+ stats.FilerRequestCounter.WithLabelValues("get").Inc()
+ fs.GetOrHeadHandler(w, r, true)
+ stats.FilerRequestHistogram.WithLabelValues("get").Observe(time.Since(start).Seconds())
+ }
case "HEAD":
stats.FilerRequestCounter.WithLabelValues("head").Inc()
fs.GetOrHeadHandler(w, r, false)