aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Lebedev <9497591+kmlebedev@users.noreply.github.com>2024-03-14 20:19:09 +0500
committerGitHub <noreply@github.com>2024-03-14 08:19:09 -0700
commit54ee73287d0389459dbeb4b6cbb37389c81afed4 (patch)
tree3d14b15511f2762bfdaaba6ebe7cd34a44067979
parent604091a4807a56b7a56caeeb316c0e5a7642e57d (diff)
downloadseaweedfs-54ee73287d0389459dbeb4b6cbb37389c81afed4.tar.xz
seaweedfs-54ee73287d0389459dbeb4b6cbb37389c81afed4.zip
[filer] replace an invalid methods in a metric with an invalid one (#5378)
fix: replace an invalid methods in a metric with an invalid one for filer
-rw-r--r--weed/server/filer_server_handlers.go22
1 files changed, 12 insertions, 10 deletions
diff --git a/weed/server/filer_server_handlers.go b/weed/server/filer_server_handlers.go
index b5e070fb2..33f63f65a 100644
--- a/weed/server/filer_server_handlers.go
+++ b/weed/server/filer_server_handlers.go
@@ -63,11 +63,11 @@ func (fs *FilerServer) filerHandler(w http.ResponseWriter, r *http.Request) {
stats.FilerRequestHistogram.WithLabelValues(stats.ChunkProxy).Observe(time.Since(start).Seconds())
return
}
-
- defer func() {
- stats.FilerRequestCounter.WithLabelValues(r.Method, strconv.Itoa(statusRecorder.Status)).Inc()
- stats.FilerRequestHistogram.WithLabelValues(r.Method).Observe(time.Since(start).Seconds())
- }()
+ requestMethod := r.Method
+ defer func(method *string) {
+ stats.FilerRequestCounter.WithLabelValues(*method, strconv.Itoa(statusRecorder.Status)).Inc()
+ stats.FilerRequestHistogram.WithLabelValues(*method).Observe(time.Since(start).Seconds())
+ }(&requestMethod)
isReadHttpCall := r.Method == http.MethodGet || r.Method == http.MethodHead
if !fs.maybeCheckJwtAuthorization(r, !isReadHttpCall) {
@@ -113,6 +113,7 @@ func (fs *FilerServer) filerHandler(w http.ResponseWriter, r *http.Request) {
fs.PostHandler(w, r, contentLength)
}
default:
+ requestMethod = "INVALID"
w.WriteHeader(http.StatusMethodNotAllowed)
}
}
@@ -146,11 +147,11 @@ func (fs *FilerServer) readonlyFilerHandler(w http.ResponseWriter, r *http.Reque
w.Header().Set("Access-Control-Allow-Headers", "OPTIONS, GET, HEAD")
w.Header().Set("Access-Control-Allow-Credentials", "true")
}
-
- defer func() {
- stats.FilerRequestCounter.WithLabelValues(r.Method, strconv.Itoa(statusRecorder.Status)).Inc()
- stats.FilerRequestHistogram.WithLabelValues(r.Method).Observe(time.Since(start).Seconds())
- }()
+ requestMethod := r.Method
+ defer func(method *string) {
+ stats.FilerRequestCounter.WithLabelValues(*method, strconv.Itoa(statusRecorder.Status)).Inc()
+ stats.FilerRequestHistogram.WithLabelValues(*method).Observe(time.Since(start).Seconds())
+ }(&requestMethod)
// We handle OPTIONS first because it never should be authenticated
if r.Method == http.MethodOptions {
OptionsHandler(w, r, true)
@@ -168,6 +169,7 @@ func (fs *FilerServer) readonlyFilerHandler(w http.ResponseWriter, r *http.Reque
case http.MethodGet, http.MethodHead:
fs.GetOrHeadHandler(w, r)
default:
+ requestMethod = "INVALID"
w.WriteHeader(http.StatusMethodNotAllowed)
}
}