diff options
| author | banjiaojuhao <banjiaojuhao@qq.com> | 2022-03-06 18:12:12 +0800 |
|---|---|---|
| committer | banjiaojuhao <banjiaojuhao@qq.com> | 2022-03-07 15:47:51 +0800 |
| commit | bfcc9ca808ebee6997d9def960655bd5f3773a99 (patch) | |
| tree | aa516cd3382c88eb2c42079b4648835893cd3f3d | |
| parent | 0ba4e4cd23cc50759e5d5a0bd74e177ed7f80070 (diff) | |
| download | seaweedfs-bfcc9ca808ebee6997d9def960655bd5f3773a99.tar.xz seaweedfs-bfcc9ca808ebee6997d9def960655bd5f3773a99.zip | |
filer: support metadata with resolved manifest chunk
| -rw-r--r-- | weed/server/filer_server_handlers_read.go | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/weed/server/filer_server_handlers_read.go b/weed/server/filer_server_handlers_read.go index 431eea979..17a6b3049 100644 --- a/weed/server/filer_server_handlers_read.go +++ b/weed/server/filer_server_handlers_read.go @@ -119,7 +119,16 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request) return } - if r.URL.Query().Has("metadata") { + query := r.URL.Query() + if query.Get("metadata") == "true" { + if query.Get("resolveManifest") == "true" { + if entry.Chunks, _, err = filer.ResolveChunkManifest( + fs.filer.MasterClient.GetLookupFileIdFunction(), + entry.Chunks, 0, int64(entry.Size())); err != nil { + err = fmt.Errorf("failed to resolve chunk manifest, err: %s", err.Error()) + writeJsonError(w, r, http.StatusInternalServerError, err) + } + } writeJsonQuiet(w, r, http.StatusOK, entry) return } |
