mirror of
https://github.com/Floriansylvain/RenewCMS.git
synced 2026-08-19 11:43:22 +02:00
Added base url env for API
This commit is contained in:
@@ -12,6 +12,7 @@ docker-compose up
|
|||||||
TODO
|
TODO
|
||||||
## Environment variables
|
## Environment variables
|
||||||
- ./env
|
- ./env
|
||||||
|
- APP_BASE_API_PATH
|
||||||
- APP_BASE_FRONT_PATH
|
- APP_BASE_FRONT_PATH
|
||||||
- APP_API_ADDRESS
|
- APP_API_ADDRESS
|
||||||
- APP_FRONT_ADDRESS
|
- APP_FRONT_ADDRESS
|
||||||
|
|||||||
+16
-7
@@ -13,7 +13,8 @@ import (
|
|||||||
var (
|
var (
|
||||||
ginMode string
|
ginMode string
|
||||||
apiPort string
|
apiPort string
|
||||||
apiAddress string
|
apiBaseUrl string
|
||||||
|
frontAddress string
|
||||||
)
|
)
|
||||||
|
|
||||||
func initEnvVariables() {
|
func initEnvVariables() {
|
||||||
@@ -23,7 +24,8 @@ func initEnvVariables() {
|
|||||||
|
|
||||||
ginMode = os.Getenv("APP_GIN_MODE")
|
ginMode = os.Getenv("APP_GIN_MODE")
|
||||||
apiPort = os.Getenv("APP_API_PORT")
|
apiPort = os.Getenv("APP_API_PORT")
|
||||||
apiAddress = os.Getenv("APP_FRONT_ADDRESS")
|
apiBaseUrl = os.Getenv("APP_BASE_API_PATH")
|
||||||
|
frontAddress = os.Getenv("APP_FRONT_ADDRESS")
|
||||||
}
|
}
|
||||||
|
|
||||||
func initJWT() {
|
func initJWT() {
|
||||||
@@ -33,14 +35,14 @@ func initJWT() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func initBasicRoutes(r *gin.Engine) {
|
func initBasicRoutes(r *gin.RouterGroup) {
|
||||||
r.POST("/login/", api.AuthMiddleware.LoginHandler)
|
r.POST("/login/", api.AuthMiddleware.LoginHandler)
|
||||||
r.POST("/logout/", api.AuthMiddleware.LogoutHandler)
|
r.POST("/logout/", api.AuthMiddleware.LogoutHandler)
|
||||||
r.GET("/ping/", api.Ping)
|
r.GET("/ping/", api.Ping)
|
||||||
}
|
}
|
||||||
|
|
||||||
func corsMiddleware(c *gin.Context) {
|
func corsMiddleware(c *gin.Context) {
|
||||||
c.Writer.Header().Set("Access-Control-Allow-Origin", apiAddress)
|
c.Writer.Header().Set("Access-Control-Allow-Origin", frontAddress)
|
||||||
c.Writer.Header().Set("Access-Control-Allow-Credentials", "true")
|
c.Writer.Header().Set("Access-Control-Allow-Credentials", "true")
|
||||||
c.Writer.Header().Set("Access-Control-Allow-Headers", "Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization, accept, origin, Cache-Control, X-Requested-With")
|
c.Writer.Header().Set("Access-Control-Allow-Headers", "Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization, accept, origin, Cache-Control, X-Requested-With")
|
||||||
c.Writer.Header().Set("Access-Control-Allow-Methods", "POST, OPTIONS, GET, PUT")
|
c.Writer.Header().Set("Access-Control-Allow-Methods", "POST, OPTIONS, GET, PUT")
|
||||||
@@ -57,7 +59,7 @@ func jwtProxyMiddleware(c *gin.Context) {
|
|||||||
c.Next()
|
c.Next()
|
||||||
}
|
}
|
||||||
|
|
||||||
func initArticlesRoutes(r *gin.Engine) {
|
func initArticlesRoutes(r *gin.RouterGroup) {
|
||||||
articlesRouter := r.Group("/articles")
|
articlesRouter := r.Group("/articles")
|
||||||
articlesRouter.Use(corsMiddleware, api.AuthMiddleware.MiddlewareFunc())
|
articlesRouter.Use(corsMiddleware, api.AuthMiddleware.MiddlewareFunc())
|
||||||
|
|
||||||
@@ -72,13 +74,20 @@ func initGin() {
|
|||||||
r := gin.Default()
|
r := gin.Default()
|
||||||
r.Use(jwtProxyMiddleware, corsMiddleware)
|
r.Use(jwtProxyMiddleware, corsMiddleware)
|
||||||
|
|
||||||
|
var router *gin.RouterGroup
|
||||||
|
if apiBaseUrl != "" {
|
||||||
|
router = r.Group(apiBaseUrl)
|
||||||
|
} else {
|
||||||
|
router = &r.RouterGroup
|
||||||
|
}
|
||||||
|
|
||||||
if ginMode == "release" {
|
if ginMode == "release" {
|
||||||
gin.SetMode(ginMode)
|
gin.SetMode(ginMode)
|
||||||
api.AuthMiddleware.SecureCookie = true
|
api.AuthMiddleware.SecureCookie = true
|
||||||
}
|
}
|
||||||
|
|
||||||
initBasicRoutes(r)
|
initBasicRoutes(router)
|
||||||
initArticlesRoutes(r)
|
initArticlesRoutes(router)
|
||||||
|
|
||||||
r.Run(":" + apiPort)
|
r.Run(":" + apiPort)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user