Revert "Revert "Merge pull request #2027 from bingoohuang/master""

This reverts commit d74cdf0115.
This commit is contained in:
Chris Lu 2021-05-10 00:13:55 -07:00
parent 40945a60cf
commit da0a4e775b
4 changed files with 18 additions and 28 deletions

4
go.mod
View file

@ -1,6 +1,6 @@
module github.com/chrislusf/seaweedfs module github.com/chrislusf/seaweedfs
go 1.12 go 1.16
require ( require (
cloud.google.com/go v0.58.0 // indirect cloud.google.com/go v0.58.0 // indirect
@ -60,7 +60,6 @@ require (
github.com/peterh/liner v1.1.0 github.com/peterh/liner v1.1.0
github.com/pierrec/lz4 v2.2.7+incompatible // indirect github.com/pierrec/lz4 v2.2.7+incompatible // indirect
github.com/prometheus/client_golang v1.3.0 github.com/prometheus/client_golang v1.3.0
github.com/rakyll/statik v0.1.7
github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563 // indirect github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563 // indirect
github.com/seaweedfs/fuse v1.1.6 github.com/seaweedfs/fuse v1.1.6
github.com/seaweedfs/goexif v1.0.2 github.com/seaweedfs/goexif v1.0.2
@ -76,7 +75,6 @@ require (
github.com/tidwall/match v1.0.1 github.com/tidwall/match v1.0.1
github.com/tsuna/gohbase v0.0.0-20201125011725-348991136365 github.com/tsuna/gohbase v0.0.0-20201125011725-348991136365
github.com/valyala/bytebufferpool v1.0.0 github.com/valyala/bytebufferpool v1.0.0
github.com/valyala/fasthttp v1.20.0
github.com/viant/assertly v0.5.4 // indirect github.com/viant/assertly v0.5.4 // indirect
github.com/viant/ptrie v0.3.0 github.com/viant/ptrie v0.3.0
github.com/viant/toolbox v0.33.2 // indirect github.com/viant/toolbox v0.33.2 // indirect

View file

@ -5,6 +5,7 @@ import (
"errors" "errors"
"fmt" "fmt"
"io" "io"
"io/fs"
"mime/multipart" "mime/multipart"
"net/http" "net/http"
"path/filepath" "path/filepath"
@ -21,19 +22,14 @@ import (
"github.com/chrislusf/seaweedfs/weed/util" "github.com/chrislusf/seaweedfs/weed/util"
"github.com/gorilla/mux" "github.com/gorilla/mux"
statik "github.com/rakyll/statik/fs"
_ "github.com/chrislusf/seaweedfs/weed/statik"
) )
var serverStats *stats.ServerStats var serverStats *stats.ServerStats
var startTime = time.Now() var startTime = time.Now()
var statikFS http.FileSystem
func init() { func init() {
serverStats = stats.NewServerStats() serverStats = stats.NewServerStats()
go serverStats.Start() go serverStats.Start()
statikFS, _ = statik.New()
} }
func writeJson(w http.ResponseWriter, r *http.Request, httpStatus int, obj interface{}) (err error) { func writeJson(w http.ResponseWriter, r *http.Request, httpStatus int, obj interface{}) (err error) {
@ -212,14 +208,16 @@ func statsMemoryHandler(w http.ResponseWriter, r *http.Request) {
writeJsonQuiet(w, r, http.StatusOK, m) writeJsonQuiet(w, r, http.StatusOK, m)
} }
var StaticFS fs.FS
func handleStaticResources(defaultMux *http.ServeMux) { func handleStaticResources(defaultMux *http.ServeMux) {
defaultMux.Handle("/favicon.ico", http.FileServer(statikFS)) defaultMux.Handle("/favicon.ico", http.FileServer(http.FS(StaticFS)))
defaultMux.Handle("/seaweedfsstatic/", http.StripPrefix("/seaweedfsstatic", http.FileServer(statikFS))) defaultMux.Handle("/seaweedfsstatic/", http.StripPrefix("/seaweedfsstatic", http.FileServer(http.FS(StaticFS))))
} }
func handleStaticResources2(r *mux.Router) { func handleStaticResources2(r *mux.Router) {
r.Handle("/favicon.ico", http.FileServer(statikFS)) r.Handle("/favicon.ico", http.FileServer(http.FS(StaticFS)))
r.PathPrefix("/seaweedfsstatic/").Handler(http.StripPrefix("/seaweedfsstatic", http.FileServer(statikFS))) r.PathPrefix("/seaweedfsstatic/").Handler(http.StripPrefix("/seaweedfsstatic", http.FileServer(http.FS(StaticFS))))
} }
func adjustHeaderContentDisposition(w http.ResponseWriter, r *http.Request, filename string) { func adjustHeaderContentDisposition(w http.ResponseWriter, r *http.Request, filename string) {

File diff suppressed because one or more lines are too long

View file

@ -1,12 +1,12 @@
//go:generate statik -src=./static
// install this first "go get github.com/rakyll/statik"
package main package main
import ( import (
"embed"
"fmt" "fmt"
weed_server "github.com/chrislusf/seaweedfs/weed/server"
flag "github.com/chrislusf/seaweedfs/weed/util/fla9" flag "github.com/chrislusf/seaweedfs/weed/util/fla9"
"io" "io"
"io/fs"
"math/rand" "math/rand"
"os" "os"
"strings" "strings"
@ -35,6 +35,13 @@ func setExitStatus(n int) {
exitMu.Unlock() exitMu.Unlock()
} }
//go:embed static
var static embed.FS
func init() {
weed_server.StaticFS, _ = fs.Sub(static, "static")
}
func main() { func main() {
glog.MaxSize = 1024 * 1024 * 32 glog.MaxSize = 1024 * 1024 * 32
rand.Seed(time.Now().UnixNano()) rand.Seed(time.Now().UnixNano())