Added DEV cors config
This commit is contained in:
parent
73b9024884
commit
a26e81f22d
|
|
@ -24,12 +24,20 @@ func main() {
|
||||||
|
|
||||||
router := gin.Default()
|
router := gin.Default()
|
||||||
|
|
||||||
|
// Front-end resources
|
||||||
router.StaticFile("/", "client/index.html")
|
router.StaticFile("/", "client/index.html")
|
||||||
router.Static("/js", "client/js")
|
router.Static("/js", "client/js")
|
||||||
router.Static("/css", "client/css")
|
router.Static("/css", "client/css")
|
||||||
|
|
||||||
|
// Only allow CORS in development mode
|
||||||
|
if server.Config.Mode == "development" {
|
||||||
|
router.Use(middleware.CorsMiddleware())
|
||||||
|
}
|
||||||
|
|
||||||
|
// User login route
|
||||||
router.POST("/api/login", routes.Login(server))
|
router.POST("/api/login", routes.Login(server))
|
||||||
|
|
||||||
|
// Routes that are only accessible after logging in
|
||||||
loginProtected := router.Group("/", middleware.LoginAuthMiddleware(server))
|
loginProtected := router.Group("/", middleware.LoginAuthMiddleware(server))
|
||||||
loginProtected.GET("/api/sensors", routes.GetSensors(server))
|
loginProtected.GET("/api/sensors", routes.GetSensors(server))
|
||||||
loginProtected.GET("/api/sensors/:sensor/values", routes.HandleGetSensorValues(server))
|
loginProtected.GET("/api/sensors/:sensor/values", routes.HandleGetSensorValues(server))
|
||||||
|
|
@ -37,6 +45,7 @@ func main() {
|
||||||
loginProtected.PUT("/api/sensors/:sensor/config/:key", routes.HandlePutSensorConfig(server))
|
loginProtected.PUT("/api/sensors/:sensor/config/:key", routes.HandlePutSensorConfig(server))
|
||||||
loginProtected.POST("/api/logout", routes.Logout(server))
|
loginProtected.POST("/api/logout", routes.Logout(server))
|
||||||
|
|
||||||
|
// Routes accessible using auth key
|
||||||
keyProtected := router.Group("/", middleware.KeyAuthMiddleware(server))
|
keyProtected := router.Group("/", middleware.KeyAuthMiddleware(server))
|
||||||
keyProtected.POST("/api/sensors/:sensor/values", routes.HandlePostSensorValues(server))
|
keyProtected.POST("/api/sensors/:sensor/values", routes.HandlePostSensorValues(server))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package middleware
|
||||||
|
|
||||||
|
import "github.com/gin-gonic/gin"
|
||||||
|
|
||||||
|
func CorsMiddleware() gin.HandlerFunc {
|
||||||
|
return func(c *gin.Context) {
|
||||||
|
c.Header("Access-Control-Allow-Origin", "*")
|
||||||
|
c.Header("Access-Control-Allow-Credentials", "true")
|
||||||
|
// 2 hours
|
||||||
|
c.Header("Access-Control-Max-Age", "7200")
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue