From 2aa7f9bebf4aefdcb04cefb37d17fc8fa72e4255 Mon Sep 17 00:00:00 2001 From: Riccardo Berto Date: Thu, 27 May 2021 21:29:22 +0200 Subject: [PATCH] more robust controller --- controller/controller.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/controller/controller.go b/controller/controller.go index eaeaf91..6b2e752 100644 --- a/controller/controller.go +++ b/controller/controller.go @@ -1,7 +1,13 @@ package controller import ( + "encoding/gob" + "time" + + "github.com/flosch/pongo2/v4" + "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" + "go.uber.org/ratelimit" ) func Init() *gin.Engine { @@ -11,11 +17,26 @@ func Init() *gin.Engine { app.Use(gin.Logger()) app.Use(gin.Recovery()) + // op-sec stuff + rl = ratelimit.New(100) // 100 req/s + app.Use(cors.New(cors.Config{AllowOrigins: []string{"http://localhost", "http://127.0.0.1"}})) + app.Use(rateLimitMiddleware) + // static files app.Static("/public", "./public") // HTML templates app.HTMLRender = templatePath("views") + // register gob + gob.Register(pongo2.Context{}) + gob.Register(time.Time{}) + + // routes + templateDataGroup := app.Group("/", templateDataMiddleware) + { + + } + return app }