refactoring. remove global state, use new logging, config functions

This commit is contained in:
2018-06-17 16:15:58 +02:00
parent d091398f05
commit 75197310bf
24 changed files with 295 additions and 476 deletions

View File

@@ -1,36 +1,31 @@
package init
import (
"net/http"
"os"
"fornaxian.com/pixeldrain-web/conf"
"fornaxian.com/pixeldrain-web/log"
"fornaxian.com/pixeldrain-web/init/conf"
"fornaxian.com/pixeldrain-web/webcontroller"
"fornaxian.com/pixeldrain-web/webcontroller/templates"
"github.com/Fornaxian/config"
"github.com/Fornaxian/log"
"github.com/julienschmidt/httprouter"
)
// Init initializes the Pixeldrain Web UI controllers
func Init(r *httprouter.Router, prefix string) {
log.Init()
log.Info("Starting web UI server (PID %v)", os.Getpid())
conf.Init()
templates.ParseTemplates()
var webconf = &conf.PixelWebConfig{}
var _, err = config.New(
conf.DefaultConfig,
"",
"pdwebconf.toml",
webconf,
true,
)
if err != nil {
log.Error("Failed to load config file: %s", err)
os.Exit(1)
}
// Serve static files
r.ServeFiles(prefix+"/res/*filepath", http.Dir(conf.StaticResourceDir()+"/res"))
r.GET(prefix+"/", webcontroller.ServeHome)
r.GET(prefix+"/favicon.ico", webcontroller.ServeFavicon)
r.GET(prefix+"/global.css", webcontroller.GlobalCSSHandler)
r.GET(prefix+"/api", webcontroller.ServeAPIDoc)
r.GET(prefix+"/history", webcontroller.ServeHistory)
r.GET(prefix+"/u/:id", webcontroller.ServeFileViewer)
r.GET(prefix+"/u/:id/preview", webcontroller.ServeFilePreview)
r.GET(prefix+"/l/:id", webcontroller.ServeListViewer)
r.GET(prefix+"/t", webcontroller.ServePaste)
r.NotFound = http.HandlerFunc(webcontroller.ServeNotFound)
webcontroller.New(r, prefix, webconf)
}