aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore18
-rw-r--r--weed/filer/filer_search.go12
-rw-r--r--weed/server/filer_server_handlers_read.go10
3 files changed, 39 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 671b01051..7a45c2ea0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -83,3 +83,21 @@ other/java/hdfs/dependency-reduced-pom.xml
# binary file
weed/weed
+
+
+
+weed-ui/node_modules/
+weed-ui/dist/
+weed-ui/npm-debug.log*
+weed-ui/yarn-debug.log*
+weed-ui/yarn-error.log*
+weed-ui//test/e2e/reports/
+weed-ui/selenium-debug.log
+
+# Editor directories and files
+
+weed-ui/.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln \ No newline at end of file
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