aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--weed/filer/filer_search.go12
-rw-r--r--weed/server/filer_server_handlers_read.go10
2 files changed, 21 insertions, 1 deletions
diff --git a/weed/filer/filer_search.go b/weed/filer/filer_search.go
index 34358d849..7489d8e34 100644
--- a/weed/filer/filer_search.go
+++ b/weed/filer/filer_search.go
@@ -42,7 +42,17 @@ func (f *Filer) ListDirectoryEntries(ctx context.Context, p util.FullPath, start
}
}
- return entries, err
+ //Distinguish between folders and common files, folders are listed first
+ var folderEntries, commonEntries []*Entry
+ for i, _ := range entries {
+ if entries[i].IsDirectory() {
+ folderEntries = append(folderEntries, entries[i])
+ } else {
+ commonEntries = append(commonEntries, entries[i])
+ }
+ }
+ folderEntries = append(folderEntries, commonEntries...)
+ return folderEntries, err
}
func (f *Filer) doListPatternMatchedEntries(ctx context.Context, p util.FullPath, startFileName string, inclusive bool, limit int, prefix, restNamePattern string) (matchedEntries []*Entry, missedCount int, lastFileName string, err error) {
diff --git a/weed/server/filer_server_handlers_read.go b/weed/server/filer_server_handlers_read.go
index 4d61193ec..28027a009 100644
--- a/weed/server/filer_server_handlers_read.go
+++ b/weed/server/filer_server_handlers_read.go
@@ -100,6 +100,16 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request,
w.Header().Set(k, string(v))
}
+ //Add some custom headers that need to be exposed
+ seaweedHeaders := []string{}
+ for i, _ := range w.Header() {
+ if strings.Contains(i, "Seaweed") {
+ seaweedHeaders = append(seaweedHeaders, i)
+ }
+ }
+ seaweedHeaders = append(seaweedHeaders, "Content-Disposition")
+ w.Header().Set("Access-Control-Expose-Headers", strings.Join(seaweedHeaders, ","))
+
//set tag count
if r.Method == "GET" {
tagCount := 0