chore (maintain): cleanup main

This commit is contained in:
MickaelK
2025-08-21 01:03:28 +10:00
parent 6599f2a133
commit 3fb8175b89
3 changed files with 13 additions and 20 deletions

View File

@ -15,15 +15,10 @@ import (
) )
func main() { func main() {
var ( Run(mux.NewRouter(), App{})
router *mux.Router = mux.NewRouter()
app = App{}
)
server.Build(router, app)
Run(router, app)
} }
func Run(routes *mux.Router, app App) { func Run(router *mux.Router, app App) {
Log.Info("Filestash %s starting", APP_VERSION) Log.Info("Filestash %s starting", APP_VERSION)
check(InitLogger(), "Logger init failed. err=%s") check(InitLogger(), "Logger init failed. err=%s")
check(InitConfig(), "Config init failed. err=%s") check(InitConfig(), "Config init failed. err=%s")
@ -33,17 +28,22 @@ func Run(routes *mux.Router, app App) {
check(ErrNotFound, "Missing starter plugin. err=%s") check(ErrNotFound, "Missing starter plugin. err=%s")
} }
for _, obj := range Hooks.Get.HttpEndpoint() { for _, obj := range Hooks.Get.HttpEndpoint() {
obj(routes, &app) obj(router, &app)
} }
for _, fn := range Hooks.Get.Onload() { for _, fn := range Hooks.Get.Onload() {
fn() fn()
} }
server.CatchAll(routes, app) server.Build(router, app)
server.PluginRoutes(router)
server.CatchAll(router, app)
if os.Getenv("DEBUG") == "true" {
server.DebugRoutes(router)
}
var wg sync.WaitGroup var wg sync.WaitGroup
for _, obj := range Hooks.Get.Starter() { for _, obj := range Hooks.Get.Starter() {
wg.Add(1) wg.Add(1)
go func() { go func() {
obj(routes) obj(router)
wg.Done() wg.Done()
}() }()
} }

View File

@ -153,7 +153,6 @@ func ServeFile(chroot string) func(*App, http.ResponseWriter, *http.Request) {
), ),
) )
head := res.Header() head := res.Header()
if f := applyPatch(filePath); f != nil { if f := applyPatch(filePath); f != nil {
head.Set("Content-Type", GetMimeType(filepath.Ext(filePath))) head.Set("Content-Type", GetMimeType(filepath.Ext(filePath)))
head.Set("Cache-Control", "no-cache") head.Set("Cache-Control", "no-cache")
@ -447,7 +446,7 @@ func applyPatch(filePath string) (file *bytes.Buffer) {
bytes.NewReader(outputBuffer.Bytes()), bytes.NewReader(outputBuffer.Bytes()),
patchFiles[i], patchFiles[i],
); err != nil { ); err != nil {
Log.Debug("ctrl::static cannot apply patch - %s", err.Error()) Log.Debug("ctrl::static err=cannot_apply_patch path=%s err=%s", patchFiles[i].NewName, err.Error())
return nil return nil
} }
outputBuffer = patched outputBuffer = patched

View File

@ -4,7 +4,6 @@ import (
"fmt" "fmt"
"net/http" "net/http"
"net/http/pprof" "net/http/pprof"
"os"
"runtime" "runtime"
"runtime/debug" "runtime/debug"
"strconv" "strconv"
@ -113,11 +112,6 @@ func Build(r *mux.Router, a App) {
r.HandleFunc(WithBase("/healthz"), NewMiddlewareChain(HealthHandler, []Middleware{}, a)).Methods("GET", "HEAD") r.HandleFunc(WithBase("/healthz"), NewMiddlewareChain(HealthHandler, []Middleware{}, a)).Methods("GET", "HEAD")
r.HandleFunc(WithBase("/custom.css"), NewMiddlewareChain(CustomCssHandler, []Middleware{}, a)).Methods("GET") r.HandleFunc(WithBase("/custom.css"), NewMiddlewareChain(CustomCssHandler, []Middleware{}, a)).Methods("GET")
r.PathPrefix(WithBase("/doc")).Handler(NewMiddlewareChain(DocPage, []Middleware{}, a)).Methods("GET", "POST", "PUT", "DELETE", "OPTIONS") r.PathPrefix(WithBase("/doc")).Handler(NewMiddlewareChain(DocPage, []Middleware{}, a)).Methods("GET", "POST", "PUT", "DELETE", "OPTIONS")
if os.Getenv("DEBUG") == "true" {
initDebugRoutes(r)
}
initPluginsRoutes(r, &a)
} }
func CatchAll(r *mux.Router, a App) { func CatchAll(r *mux.Router, a App) {
@ -127,7 +121,7 @@ func CatchAll(r *mux.Router, a App) {
r.PathPrefix("/").Handler(http.HandlerFunc(NewMiddlewareChain(ServeFrontofficeHandler, middlewares, a))).Methods("GET", "POST") r.PathPrefix("/").Handler(http.HandlerFunc(NewMiddlewareChain(ServeFrontofficeHandler, middlewares, a))).Methods("GET", "POST")
} }
func initDebugRoutes(r *mux.Router) { func DebugRoutes(r *mux.Router) {
r.HandleFunc("/debug/pprof/", pprof.Index) r.HandleFunc("/debug/pprof/", pprof.Index)
r.HandleFunc("/debug/pprof/cmdline", pprof.Cmdline) r.HandleFunc("/debug/pprof/cmdline", pprof.Cmdline)
r.HandleFunc("/debug/pprof/profile", pprof.Profile) r.HandleFunc("/debug/pprof/profile", pprof.Profile)
@ -158,7 +152,7 @@ func initDebugRoutes(r *mux.Router) {
}) })
} }
func initPluginsRoutes(r *mux.Router, a *App) { func PluginRoutes(r *mux.Router) {
// frontoffice overrides: it is the mean by which plugin can interact with the frontoffice // frontoffice overrides: it is the mean by which plugin can interact with the frontoffice
for _, obj := range Hooks.Get.FrontendOverrides() { for _, obj := range Hooks.Get.FrontendOverrides() {
r.HandleFunc(obj, func(res http.ResponseWriter, req *http.Request) { r.HandleFunc(obj, func(res http.ResponseWriter, req *http.Request) {