From 24579d86d225c9539032865652fe6dfbfb2fdec1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Tue, 12 Aug 2014 07:25:02 +0200 Subject: [PATCH] updated --- backend/api/api.go | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/backend/api/api.go b/backend/api/api.go index a0dca45c1b8..83196f6b932 100644 --- a/backend/api/api.go +++ b/backend/api/api.go @@ -5,6 +5,7 @@ import ( log "github.com/alecthomas/log4go" "github.com/gin-gonic/gin" + "github.com/gorilla/sessions" "github.com/torkelo/grafana-pro/backend/components" "github.com/torkelo/grafana-pro/backend/stores" ) @@ -17,6 +18,12 @@ type HttpServer struct { router *gin.Engine } +var sessionStore = sessions.NewCookieStore([]byte("something-very-secret")) + +// var hashKey = []byte("very-secret") +// var blockKey = []byte("a-lot-secret") +// var s = securecookie.New(hashKey, blockKey) + func NewHttpServer(port string, store stores.Store) *HttpServer { self := &HttpServer{} self.port = port @@ -26,18 +33,13 @@ func NewHttpServer(port string, store stores.Store) *HttpServer { return self } -func CacheHeadersMiddleware() gin.HandlerFunc { - return func(c *gin.Context) { - c.Writer.Header().Add("Cache-Control", "max-age=0, public, must-revalidate, proxy-revalidate") - } -} - func (self *HttpServer) ListenAndServe() { log.Info("Starting Http Listener on port %v", self.port) defer func() { self.shutdown <- true }() self.router = gin.Default() self.router.Use(CacheHeadersMiddleware()) + self.router.Use(self.AuthMiddleware()) // register & parse templates templates := template.New("templates") @@ -62,6 +64,20 @@ func (self *HttpServer) index(c *gin.Context) { c.HTML(200, "index.html", &indexViewModel{title: "hello from go"}) } +func (self *HttpServer) AuthMiddleware() gin.HandlerFunc { + return func(c *gin.Context) { + session, _ := sessionStore.Get(c.Request, "grafana-session") + session.Values["asd"] = 1 + session.Save(c.Request, c.Writer) + } +} + +func CacheHeadersMiddleware() gin.HandlerFunc { + return func(c *gin.Context) { + c.Writer.Header().Add("Cache-Control", "max-age=0, public, must-revalidate, proxy-revalidate") + } +} + // Api Handler Registration var routeHandlers = make([]routeHandlerRegisterFn, 0)