@@ -6,6 +6,7 @@ package templates
66import (
77 "bufio"
88 "bytes"
9+ "context"
910 "errors"
1011 "fmt"
1112 "io"
@@ -39,27 +40,28 @@ var (
3940
4041var ErrTemplateNotInitialized = errors .New ("template system is not initialized, check your log for errors" )
4142
42- func (h * HTMLRender ) HTML (w io.Writer , status int , name string , data any ) error {
43+ func (h * HTMLRender ) HTML (w io.Writer , status int , name string , data any , ctx context. Context ) error { //nolint:revive
4344 if respWriter , ok := w .(http.ResponseWriter ); ok {
4445 if respWriter .Header ().Get ("Content-Type" ) == "" {
4546 respWriter .Header ().Set ("Content-Type" , "text/html; charset=utf-8" )
4647 }
4748 respWriter .WriteHeader (status )
4849 }
49- t , err := h .TemplateLookup (name )
50+ t , err := h .TemplateLookup (name , ctx )
5051 if err != nil {
5152 return texttemplate.ExecError {Name : name , Err : err }
5253 }
5354 return t .Execute (w , data )
5455}
5556
56- func (h * HTMLRender ) TemplateLookup (name string ) (TemplateExecutor , error ) {
57+ func (h * HTMLRender ) TemplateLookup (name string , ctx context. Context ) (TemplateExecutor , error ) { //nolint:revive
5758 tmpls := h .templates .Load ()
5859 if tmpls == nil {
5960 return nil , ErrTemplateNotInitialized
6061 }
61-
62- return tmpls .Executor (name , NewFuncMap ())
62+ m := NewFuncMap ()
63+ m ["ctx" ] = func () any { return ctx }
64+ return tmpls .Executor (name , m )
6365}
6466
6567func (h * HTMLRender ) CompileTemplates () error {
0 commit comments