In my application I store a map of all my templates 
(`map[string]*template.Template`) in an `ApplicationEngine` struct, which 
is my application framework instance. I am currently using the standard 
`context.Context` to pass request scoped values between my middlewares and 
handlers. I need a way to access that map of templates in order to render a 
specific template file. What is the best way to do this? Is storing a map 
of templates even a good idea?

I know that contexts are a controversial issue and just want to hear the 
available options. 

I am currently thinking of adopting a way similar to the [gin framework's 
context](https://github.com/gin-gonic/gin/blob/master/context.go#L56). Gin 
uses a custom struct that stores a pointer to `gin.Engine`, which is their 
application framework instance. They then have a `HTML()` function on the 
context struct, which accesses the template map stored in the `gin.Engine` 
pointer.

While my question is specific to my need, there is a broader discussion 
here. Should you use custom structs instead of the "standard" 
`context.Context`? Most web frameworks (gobuffalo, gin, echo) seem to 
handle it this way, but there seems to be no consensus on if it is a good 
idea.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/969f4dc0-f63a-4a9f-b8ff-04457498107en%40googlegroups.com.

Reply via email to