From d6cf67b3d7747b6274d92e394d75d348060fa5f5 Mon Sep 17 00:00:00 2001 From: Gabriel Arakaki Giovanini Date: Sun, 25 Jun 2023 16:03:36 +0200 Subject: feat: Add static file to output bin Now the final binary has a standalone web server including necessary static file. --- pkg/ext/fileserver.go | 18 ++++++++++++++++++ pkg/worker/list_processor_test.go | 3 ++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 pkg/ext/fileserver.go (limited to 'pkg') diff --git a/pkg/ext/fileserver.go b/pkg/ext/fileserver.go new file mode 100644 index 0000000..fdea08e --- /dev/null +++ b/pkg/ext/fileserver.go @@ -0,0 +1,18 @@ +package ext + +import ( + "io/fs" + + "github.com/valyala/fasthttp" +) + +type FileSystem interface { + Open(name string) (fs.File, error) +} + +func FileServer(rootFS FileSystem, rootPath string) fasthttp.RequestHandler { + return func(r *fasthttp.RequestCtx) { + path := r.UserValue("filepath").(string) + r.SendFile(rootPath + path) + } +} diff --git a/pkg/worker/list_processor_test.go b/pkg/worker/list_processor_test.go index 35672f3..ce3ff0a 100644 --- a/pkg/worker/list_processor_test.go +++ b/pkg/worker/list_processor_test.go @@ -9,8 +9,9 @@ import ( "sync" "testing" - "git.sr.ht/~gabrielgio/img/pkg/testkit" "github.com/sirupsen/logrus" + + "git.sr.ht/~gabrielgio/img/pkg/testkit" ) type ( -- cgit v1.2.3