Removed engine from context
This commit is contained in:
parent
29f0900068
commit
96268f8d7e
@ -48,11 +48,11 @@ func main() {
|
|||||||
ctx := context.New(cfg, db)
|
ctx := context.New(cfg, db)
|
||||||
|
|
||||||
// Create router
|
// Create router
|
||||||
router.New(ctx)
|
r := router.New(ctx)
|
||||||
|
|
||||||
// Create server
|
// Create server
|
||||||
server := &http.Server{
|
server := &http.Server{
|
||||||
Handler: ctx.Engine,
|
Handler: r,
|
||||||
Addr: cfg.Server.Address,
|
Addr: cfg.Server.Address,
|
||||||
ReadTimeout: time.Second * time.Duration(cfg.Server.ReadTimeout),
|
ReadTimeout: time.Second * time.Duration(cfg.Server.ReadTimeout),
|
||||||
WriteTimeout: time.Second * time.Duration(cfg.Server.WriteTimeout),
|
WriteTimeout: time.Second * time.Duration(cfg.Server.WriteTimeout),
|
||||||
|
@ -24,24 +24,13 @@ import (
|
|||||||
// Request context
|
// Request context
|
||||||
type Context struct {
|
type Context struct {
|
||||||
*gin.Context
|
*gin.Context
|
||||||
*gin.Engine
|
|
||||||
Db *database.Database
|
Db *database.Database
|
||||||
Config *config.Config
|
Config *config.Config
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return a new Context
|
// Return a new Context
|
||||||
func New(cfg *config.Config, db *database.Database) *Context {
|
func New(cfg *config.Config, db *database.Database) *Context {
|
||||||
// Create engine
|
|
||||||
engine := gin.New()
|
|
||||||
engine.Use(gin.Recovery())
|
|
||||||
|
|
||||||
// Log level
|
|
||||||
if cfg.Log.Level == "debug" {
|
|
||||||
engine.Use(gin.Logger())
|
|
||||||
}
|
|
||||||
|
|
||||||
return &Context{
|
return &Context{
|
||||||
Engine: engine,
|
|
||||||
Db: db,
|
Db: db,
|
||||||
Config: cfg,
|
Config: cfg,
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ package v1
|
|||||||
import (
|
import (
|
||||||
"git.supernets.org/perp/gopay/internal/context"
|
"git.supernets.org/perp/gopay/internal/context"
|
||||||
"git.supernets.org/perp/gopay/internal/router/api/v1/account"
|
"git.supernets.org/perp/gopay/internal/router/api/v1/account"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
||||||
// @title GoPay API v1
|
// @title GoPay API v1
|
||||||
@ -30,8 +31,8 @@ import (
|
|||||||
// @license.url http://www.apache.org/licenses/LICENSE-2.0.html
|
// @license.url http://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
|
|
||||||
// Register v1 routes
|
// Register v1 routes
|
||||||
func Register(ctx *context.Context) {
|
func Register(ctx *context.Context, engine *gin.Engine) {
|
||||||
v1 := ctx.Group("v1")
|
v1 := engine.Group("v1")
|
||||||
|
|
||||||
{
|
{
|
||||||
v1.GET("scalar", ctx.Route(Spec))
|
v1.GET("scalar", ctx.Route(Spec))
|
||||||
|
@ -17,9 +17,22 @@ package router
|
|||||||
import (
|
import (
|
||||||
"git.supernets.org/perp/gopay/internal/context"
|
"git.supernets.org/perp/gopay/internal/context"
|
||||||
v1 "git.supernets.org/perp/gopay/internal/router/api/v1"
|
v1 "git.supernets.org/perp/gopay/internal/router/api/v1"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Create a new router
|
// Create a new router
|
||||||
func New(ctx *context.Context) {
|
func New(ctx *context.Context) *gin.Engine {
|
||||||
v1.Register(ctx)
|
// Create engine
|
||||||
|
engine := gin.New()
|
||||||
|
engine.Use(gin.Recovery())
|
||||||
|
|
||||||
|
// Log level
|
||||||
|
if ctx.Config.Log.Level == "debug" {
|
||||||
|
engine.Use(gin.Logger())
|
||||||
|
}
|
||||||
|
|
||||||
|
// Register v1
|
||||||
|
v1.Register(ctx, engine)
|
||||||
|
|
||||||
|
return engine
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user