From 319ad984dec6499b61cdcb8f4e5948109add1108 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Sun, 18 Feb 2024 22:14:10 +0100 Subject: [PATCH] Add template to context --- main.go | 2 +- middleware.go | 13 +++++++++++-- diff --git a/main.go b/main.go index 574b05d1dc9b13828af428d0dd67e95f01d4216d..195d546f75cabd56a04c9d00e2ddedab7c111472 100644 --- a/main.go +++ b/main.go @@ -358,7 +358,7 @@ server := http.Server{ Addr: listenAddr, Handler: loginTokenMiddleware(mux), BaseContext: func(net.Listener) context.Context { - return newBaseContext(db) + return newBaseContext(db, tpl) }, } log.Printf("OAuth server listening on %v", server.Addr) diff --git a/middleware.go b/middleware.go index d49cd0a87590414171e471ee1b4fc9c2ebcb61f5..b8c2a623e473bb0485f8fd9c033e0abb4330ed67 100644 --- a/middleware.go +++ b/middleware.go @@ -3,6 +3,7 @@ import ( "context" "fmt" + "html/template" "net/http" ) @@ -12,6 +13,7 @@ type contextKey string const ( contextKeyDB = "db" + contextKeyTemplate = "template" contextKeyLoginToken = "login-token" ) @@ -19,6 +21,10 @@ func dbFromContext(ctx context.Context) *DB { return ctx.Value(contextKeyDB).(*DB) } +func templateFromContext(ctx context.Context) *template.Template { + return ctx.Value(contextKeyTemplate).(*template.Template) +} + func loginTokenFromContext(ctx context.Context) *AccessToken { v := ctx.Value(contextKeyLoginToken) if v == nil { @@ -27,8 +33,11 @@ } return v.(*AccessToken) } -func newBaseContext(db *DB) context.Context { - return context.WithValue(context.Background(), contextKeyDB, db) +func newBaseContext(db *DB, tpl *template.Template) context.Context { + ctx := context.Background() + ctx = context.WithValue(ctx, contextKeyDB, db) + ctx = context.WithValue(ctx, contextKeyLoginToken, tpl) + return ctx } func setLoginTokenCookie(w http.ResponseWriter, token *AccessToken, secret string) { -- 2.48.1