From d5542dc8956c5d084817b60ed7451870c7175865 Mon Sep 17 00:00:00 2001 From: Shulhan Date: Sun, 12 May 2024 14:33:07 +0700 Subject: all: initialize memfs using New When memfs not initialized using New, the [memfs.MemFS.PathNodes] will be nil. This cause any Get on new file will return 404. --- server.go | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/server.go b/server.go index 1d48e7e..8ad76d1 100644 --- a/server.go +++ b/server.go @@ -31,17 +31,20 @@ func newServer(opts *ServeOptions) (srv *server, err error) { var logp = `newServer` if opts.Mfs == nil { - opts.Mfs = &memfs.MemFS{ - Opts: &memfs.Options{ - Root: opts.Root, - Excludes: defExcludes, - }, - } opts.IsDevelopment = true + var mfsopts = &memfs.Options{ + Root: opts.Root, + Excludes: defExcludes, + TryDirect: true, + } + opts.Mfs, err = memfs.New(mfsopts) + if err != nil { + return nil, fmt.Errorf(`%s: %w`, logp, err) + } + } else { + opts.Mfs.Opts.TryDirect = opts.IsDevelopment } - opts.Mfs.Opts.TryDirect = opts.IsDevelopment - srv = &server{ opts: *opts, } -- cgit v1.3