adding cors middleware

This commit is contained in:
areeqakbr 2025-02-20 11:07:41 +07:00
parent 7b21ee3954
commit 2fb3876ee6
7 changed files with 27 additions and 0 deletions

View File

@ -20,6 +20,7 @@ func (bc *BackboneController) Route() {
rg := bc.rg.Group("/backbone") rg := bc.rg.Group("/backbone")
rg.Use(middleware.AuthMiddleware()) rg.Use(middleware.AuthMiddleware())
rg.Use(middleware.CORSMiddleware())
rg.Use(middleware.RateLimitMiddleware()) rg.Use(middleware.RateLimitMiddleware())
{ {
rg.GET("", bc.GetBackbone()) rg.GET("", bc.GetBackbone())

View File

@ -20,6 +20,7 @@ func (dc *DevicePortController) Route() {
rg := dc.rg.Group("/device-port") rg := dc.rg.Group("/device-port")
rg.Use(middleware.AuthMiddleware()) rg.Use(middleware.AuthMiddleware())
rg.Use(middleware.RateLimitMiddleware()) rg.Use(middleware.RateLimitMiddleware())
rg.Use(middleware.CORSMiddleware())
{ {
rg.GET("", dc.GetDevicePort()) rg.GET("", dc.GetDevicePort())
rg.POST("", dc.CreateDevicePort()) rg.POST("", dc.CreateDevicePort())

View File

@ -20,6 +20,7 @@ func (dc *DeviceController) Route() {
rg := dc.rg.Group("/devices") rg := dc.rg.Group("/devices")
rg.Use(middleware.AuthMiddleware()) rg.Use(middleware.AuthMiddleware())
rg.Use(middleware.RateLimitMiddleware()) rg.Use(middleware.RateLimitMiddleware())
rg.Use(middleware.CORSMiddleware())
{ {
rg.POST("", dc.CreateDevice()) rg.POST("", dc.CreateDevice())
rg.GET("", dc.GetAllDevices()) rg.GET("", dc.GetAllDevices())

View File

@ -20,6 +20,7 @@ func (fc *FishboneController) Route() {
rg := fc.rg.Group("/fishbone") rg := fc.rg.Group("/fishbone")
rg.Use(middleware.AuthMiddleware()) rg.Use(middleware.AuthMiddleware())
rg.Use(middleware.RateLimitMiddleware()) rg.Use(middleware.RateLimitMiddleware())
rg.Use(middleware.CORSMiddleware())
{ {
rg.GET("", fc.GetFishbone()) rg.GET("", fc.GetFishbone())
rg.POST("", fc.CreateFishbone()) rg.POST("", fc.CreateFishbone())

View File

@ -20,6 +20,7 @@ func (tc *TowerController) Route() {
rg := tc.rg.Group("/tower") rg := tc.rg.Group("/tower")
rg.Use(middleware.AuthMiddleware()) rg.Use(middleware.AuthMiddleware())
rg.Use(middleware.RateLimitMiddleware()) rg.Use(middleware.RateLimitMiddleware())
rg.Use(middleware.CORSMiddleware())
{ {
rg.GET("", tc.GetTower()) rg.GET("", tc.GetTower())
rg.POST("", tc.CreateTower()) rg.POST("", tc.CreateTower())

View File

@ -19,6 +19,7 @@ type UsersController struct {
func (uc *UsersController) Route() { func (uc *UsersController) Route() {
rg:= uc.rg.Group("/users") rg:= uc.rg.Group("/users")
rg.Use(middleware.RateLoginMiddleware()) rg.Use(middleware.RateLoginMiddleware())
rg.Use(middleware.CORSMiddleware())
{ {
rg.POST("/login", uc.Login()) rg.POST("/login", uc.Login())
} }

View File

@ -0,0 +1,21 @@
package middleware
import (
"github.com/gin-gonic/gin"
)
func CORSMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {
c.Writer.Header().Set("Access-Control-Allow-Origin", "*")
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-Methods", "POST, OPTIONS, GET, PUT, DELETE")
if c.Request.Method == "OPTIONS" {
c.AbortWithStatus(204)
return
}
c.Next()
}
}