diff options
Diffstat (limited to 'backend/main.go')
| -rw-r--r-- | backend/main.go | 38 |
1 files changed, 17 insertions, 21 deletions
diff --git a/backend/main.go b/backend/main.go index e693d15..a50be7e 100644 --- a/backend/main.go +++ b/backend/main.go | |||
| @@ -4,20 +4,18 @@ import ( | |||
| 4 | "fmt" | 4 | "fmt" |
| 5 | "log" | 5 | "log" |
| 6 | "os" | 6 | "os" |
| 7 | "time" | ||
| 8 | 7 | ||
| 9 | "lphub/api" | 8 | "lphub/api" |
| 10 | "lphub/database" | 9 | "lphub/database" |
| 11 | _ "lphub/docs" | 10 | _ "lphub/docs" |
| 12 | 11 | ||
| 13 | "github.com/gin-contrib/cors" | ||
| 14 | "github.com/gin-gonic/gin" | 12 | "github.com/gin-gonic/gin" |
| 15 | "github.com/joho/godotenv" | 13 | "github.com/joho/godotenv" |
| 16 | ) | 14 | ) |
| 17 | 15 | ||
| 18 | // @title Least Portals Database API | 16 | // @title Least Portals Hub |
| 19 | // @version 1.0 | 17 | // @version 1.0 |
| 20 | // @description Backend API endpoints for the Least Portals Database. | 18 | // @description Backend API endpoints for Least Portals Hub. |
| 21 | 19 | ||
| 22 | // @license.name GNU Affero General Public License, Version 3 | 20 | // @license.name GNU Affero General Public License, Version 3 |
| 23 | // @license.url https://www.gnu.org/licenses/agpl-3.0.html | 21 | // @license.url https://www.gnu.org/licenses/agpl-3.0.html |
| @@ -33,24 +31,22 @@ func main() { | |||
| 33 | gin.SetMode(gin.ReleaseMode) | 31 | gin.SetMode(gin.ReleaseMode) |
| 34 | } | 32 | } |
| 35 | router := gin.Default() | 33 | router := gin.Default() |
| 36 | router.Use(cors.New(cors.Config{ | ||
| 37 | AllowOrigins: []string{"*"}, | ||
| 38 | AllowMethods: []string{"GET", "POST", "DELETE", "PUT", "PATCH"}, | ||
| 39 | AllowHeaders: []string{"Origin"}, | ||
| 40 | ExposeHeaders: []string{"Content-Length"}, | ||
| 41 | AllowCredentials: true, | ||
| 42 | AllowOriginFunc: func(origin string) bool { | ||
| 43 | return origin == "https://github.com" | ||
| 44 | }, | ||
| 45 | MaxAge: 12 * time.Hour, | ||
| 46 | })) | ||
| 47 | database.ConnectDB() | 34 | database.ConnectDB() |
| 48 | api.InitRoutes(router) | 35 | api.InitRoutes(router) |
| 49 | router.Static("/static", "../frontend/build/static") | 36 | // for debugging |
| 50 | router.StaticFile("/", "../frontend/build/index.html") | 37 | // router.Use(cors.New(cors.Config{ |
| 51 | router.NoRoute(func(c *gin.Context) { | 38 | // AllowOrigins: []string{"*"}, |
| 52 | c.File("../frontend/build/index.html") | 39 | // AllowMethods: []string{"GET", "POST", "DELETE", "PUT", "PATCH"}, |
| 53 | }) | 40 | // AllowHeaders: []string{"Origin"}, |
| 54 | router.MaxMultipartMemory = 500 << 20 // 500 mb limit for demos | 41 | // ExposeHeaders: []string{"Content-Length"}, |
| 42 | // AllowCredentials: true, | ||
| 43 | // MaxAge: 12 * time.Hour, | ||
| 44 | // })) | ||
| 45 | // router.Static("/static", "../frontend/build/static") | ||
| 46 | // router.StaticFile("/", "../frontend/build/index.html") | ||
| 47 | // router.NoRoute(func(c *gin.Context) { | ||
| 48 | // c.File("../frontend/build/index.html") | ||
| 49 | // }) | ||
| 50 | router.MaxMultipartMemory = 200 << 20 // 200 mb limit for demos | ||
| 55 | router.Run(fmt.Sprintf(":%s", os.Getenv("PORT"))) | 51 | router.Run(fmt.Sprintf(":%s", os.Getenv("PORT"))) |
| 56 | } | 52 | } |