New env variable FIC_BASEURL to change the base URL

This commit is contained in:
nemunaire 2021-07-21 12:30:51 +02:00
commit 8f1b44e3dd
12 changed files with 161 additions and 73 deletions

View file

@ -117,13 +117,13 @@ const indextpl = `<!DOCTYPE html>
<toast ng-repeat="toast in toasts" yes-no="toast.yesFunc || toast.noFunc" onyes="toast.yesFunc" onno="toast.noFunc" date="toast.date" msg="toast.msg" timeout="toast.timeout" title="toast.title" variant="toast.variant"></toast>
</div>
<script src="/js/jquery.min.js"></script>
<script src="js/jquery.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/angular.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/angular.min.js"></script>
<script src="js/angular-resource.min.js"></script>
<script src="/js/angular-route.min.js"></script>
<script src="/js/angular-sanitize.min.js"></script>
<script src="js/angular-route.min.js"></script>
<script src="js/angular-sanitize.min.js"></script>
<script src="js/app.js"></script>
<script src="js/common.js"></script>
</body>

View file

@ -68,6 +68,7 @@ func main() {
cloudPassword := ""
localImporterDirectory := ""
localImporterSymlink := false
baseURL := "/"
// Read paremeters from environment
if v, exists := os.LookupEnv("FICCA_PASS"); exists {
@ -85,11 +86,14 @@ func main() {
if v, exists := os.LookupEnv("FICCLOUD_PASS"); exists {
cloudPassword = v
}
if v, exists := os.LookupEnv("FIC_BASEURL"); exists {
baseURL = v
}
// Read parameters from command line
var bind = flag.String("bind", "127.0.0.1:8081", "Bind port/socket")
var dsn = flag.String("dsn", fic.DSNGenerator(), "DSN to connect to the MySQL server")
var baseURL = flag.String("baseurl", "/", "URL prepended to each URL")
flag.StringVar(&baseURL, "baseurl", baseURL, "URL prepended to each URL")
flag.StringVar(&api.TimestampCheck, "timestampCheck", api.TimestampCheck, "Path regularly touched by frontend to check time synchronisation")
flag.StringVar(&pki.PKIDir, "pki", "./PKI", "Base directory where found PKI scripts")
var staticDir = flag.String("static", "", "Directory containing static files (default if not provided: use embedded files)")
@ -140,6 +144,7 @@ func main() {
log.Fatal("Unable to cd to static/ directory:", err)
}
staticFS = http.FS(sub)
sync.DeepReportPath = path.Join("SYNC", sync.DeepReportPath)
}
if fic.FilesDir, err = filepath.Abs(fic.FilesDir); err != nil {
log.Fatal(err)
@ -159,12 +164,10 @@ func main() {
if settings.SettingsDir, err = filepath.Abs(settings.SettingsDir); err != nil {
log.Fatal(err)
}
if *baseURL != "/" {
tmp := path.Clean(*baseURL)
baseURL = &tmp
if baseURL != "/" {
baseURL = path.Clean(baseURL)
} else {
tmp := ""
baseURL = &tmp
baseURL = ""
}
// Creating minimal directories structure
@ -201,8 +204,8 @@ func main() {
}
// Update base URL on main page
log.Println("Changing base URL to", *baseURL+"/", "...")
genIndex(*baseURL)
log.Println("Changing base URL to", baseURL+"/", "...")
genIndex(baseURL)
// Prepare graceful shutdown
interrupt := make(chan os.Signal, 1)
@ -210,7 +213,7 @@ func main() {
srv := &http.Server{
Addr: *bind,
Handler: StripPrefix(*baseURL, api.Router()),
Handler: StripPrefix(baseURL, api.Router()),
}
// Serve content