diff options
| author | Chris Lu <chrislusf@users.noreply.github.com> | 2022-03-07 00:05:46 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-07 00:05:46 -0800 |
| commit | 1e7fcef5816404371c52253110dfaeb00b9f0cbd (patch) | |
| tree | 1ef9e5a98d788888b7e4a026a10d5eea16695dcf /weed | |
| parent | bb0b7845449cfbd81c24dcded266ef861936fe5a (diff) | |
| parent | bfcc9ca808ebee6997d9def960655bd5f3773a99 (diff) | |
| download | seaweedfs-1e7fcef5816404371c52253110dfaeb00b9f0cbd.tar.xz seaweedfs-1e7fcef5816404371c52253110dfaeb00b9f0cbd.zip | |
Merge pull request #2729 from banjiaojuhao/filer_metadata-resolve-manifest
filer: support get metadata with resolved manifest chunk
Diffstat (limited to 'weed')
| -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 } |
