Browse Source

Run CORS handler first for /api routes (#7967) (#8053)

Signed-off-by: Tamal Saha <tamal@appscode.com>
tags/v1.9.3
Tamal Saha 4 years ago
parent
commit
9bea8d825b
2 changed files with 8 additions and 9 deletions
  1. 1
    8
      routers/api/v1/api.go
  2. 7
    1
      routers/routes/routes.go

+ 1
- 8
routers/api/v1/api.go View File

"code.gitea.io/gitea/routers/api/v1/user" "code.gitea.io/gitea/routers/api/v1/user"


"github.com/go-macaron/binding" "github.com/go-macaron/binding"
"github.com/go-macaron/cors"
macaron "gopkg.in/macaron.v1" macaron "gopkg.in/macaron.v1"
) )


m.Get("/swagger", misc.Swagger) //Render V1 by default m.Get("/swagger", misc.Swagger) //Render V1 by default
} }


var handlers []macaron.Handler
if setting.EnableCORS {
handlers = append(handlers, cors.CORS(setting.CORSConfig))
}
handlers = append(handlers, securityHeaders(), context.APIContexter(), sudo())

m.Group("/v1", func() { m.Group("/v1", func() {
// Miscellaneous // Miscellaneous
if setting.API.EnableSwagger { if setting.API.EnableSwagger {
m.Group("/topics", func() { m.Group("/topics", func() {
m.Get("/search", repo.TopicSearch) m.Get("/search", repo.TopicSearch)
}) })
}, handlers...)
}, securityHeaders(), context.APIContexter(), sudo())
} }


func securityHeaders() macaron.Handler { func securityHeaders() macaron.Handler {

+ 7
- 1
routers/routes/routes.go View File

"github.com/go-macaron/binding" "github.com/go-macaron/binding"
"github.com/go-macaron/cache" "github.com/go-macaron/cache"
"github.com/go-macaron/captcha" "github.com/go-macaron/captcha"
"github.com/go-macaron/cors"
"github.com/go-macaron/csrf" "github.com/go-macaron/csrf"
"github.com/go-macaron/i18n" "github.com/go-macaron/i18n"
"github.com/go-macaron/session" "github.com/go-macaron/session"
m.Get("/swagger.v1.json", templates.JSONRenderer(), routers.SwaggerV1Json) m.Get("/swagger.v1.json", templates.JSONRenderer(), routers.SwaggerV1Json)
} }


var handlers []macaron.Handler
if setting.EnableCORS {
handlers = append(handlers, cors.CORS(setting.CORSConfig))
}
handlers = append(handlers, ignSignIn)
m.Group("/api", func() { m.Group("/api", func() {
apiv1.RegisterRoutes(m) apiv1.RegisterRoutes(m)
}, ignSignIn)
}, handlers...)


m.Group("/api/internal", func() { m.Group("/api/internal", func() {
// package name internal is ideal but Golang is not allowed, so we use private as package name. // package name internal is ideal but Golang is not allowed, so we use private as package name.

Loading…
Cancel
Save