From 404224a155bee69319177e117fb9ec4decafc154 Mon Sep 17 00:00:00 2001 From: Nikurasu Date: Fri, 27 Jan 2023 14:10:14 +0100 Subject: [PATCH] Redirect from root to static hosted dir and dynamic static hosted dir --- .env.example | 3 ++- src/envloader/envloader.go | 2 ++ src/router/router.go | 5 ++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.env.example b/.env.example index 4bdce39..1dcc90a 100644 --- a/.env.example +++ b/.env.example @@ -1,4 +1,5 @@ STATIC_HOSTER_HOME=/home/dave/st/ STATIC_HOSTER_HOST_DIR=/home/dave/host-this-dir/ STATIC_HOSTER_API_KEY=e621 -STATIC_HOSTER_PORT=4200 \ No newline at end of file +STATIC_HOSTER_PORT=4200 +STATIC_HOSTER_BASE_ROUTE=/site \ No newline at end of file diff --git a/src/envloader/envloader.go b/src/envloader/envloader.go index 716c4e2..f626854 100644 --- a/src/envloader/envloader.go +++ b/src/envloader/envloader.go @@ -15,6 +15,7 @@ type Environment struct { StaticDir string ApiKey string Port string + BaseRoute string } func Load() (env *Environment) { @@ -30,6 +31,7 @@ func Load() (env *Environment) { env.StaticDir = envReader("STATIC_HOSTER_HOST_DIR", fmt.Sprintf("%s/hosted/", env.RootDir)) env.Port = fmt.Sprintf(":%s", envReader("STATIC_HOSTER_PORT", "8080")) env.ApiKey = envReader("STATIC_HOSTER_API_KEY", defaultApiKey) + env.BaseRoute = envReader("STATIC_HOSTER_BASE_ROUTE", "/home") if env.ApiKey == defaultApiKey { fmt.Printf("[STATIC-HOSTER-Warning]\t Environment Variable \"STATIC_HOSTER_API_KEY\" not set. Use default key \"%s\". DONT USE THIS FOR PRODUCTION!\n", defaultApiKey) } diff --git a/src/router/router.go b/src/router/router.go index 699dcdd..a553be8 100644 --- a/src/router/router.go +++ b/src/router/router.go @@ -22,7 +22,10 @@ func Create(env *envloader.Environment) *gin.Engine { c.String(http.StatusOK, "pong") }) - router.Static("/home", env.StaticDir) + router.Static(env.BaseRoute, env.StaticDir) + router.GET("/", func(ctx *gin.Context) { + ctx.Redirect(http.StatusPermanentRedirect, env.BaseRoute) + }) router.LoadHTMLGlob(fmt.Sprintf("%s404.html", env.StaticDir)) router.NoRoute(func(ctx *gin.Context) {