Files
casdoor/internal/handler/api.go
2020-11-11 21:38:51 +08:00

41 lines
1.1 KiB
Go

package handler
import (
"net/http"
"github.com/casdoor/casdoor/internal/handler/user"
"github.com/casdoor/casdoor/internal/store"
"github.com/gin-contrib/cors"
"github.com/gin-gonic/gin"
)
var corsConfig = cors.Config{
AllowMethods: []string{"GET", "POST", "PUT", "PATCH", "DELETE"},
AllowHeaders: []string{"Origin", "Content-Length", "Content-Type"},
ExposeHeaders: []string{"Content-Length"},
AllowCredentials: true,
// https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/CORSNotSupportingCredentials
AllowOrigins: []string{"http://localhost:3000"},
MaxAge: 300,
}
func New(userStore *store.UserStore) http.Handler {
r := gin.New()
r.Use(gin.Logger())
r.Use(gin.Recovery())
r.Use(cors.New(corsConfig))
//r.StaticFS("/", http.Dir("web/build/index.html"))
apiGroup := r.Group("/api")
userHandler := user.New(userStore)
apiGroup.GET("/get-users", userHandler.GetUsers)
apiGroup.GET("/get-user", userHandler.GetUser)
apiGroup.POST("/update-user", userHandler.UpdateUser)
apiGroup.POST("/add-user", userHandler.AddUser)
apiGroup.POST("/delete-user", userHandler.DeleteUser)
return r
}