Use it to pass connection/request-scoped values: that is, values that could 
only exist once you have a request. authentication tokens, user details, 
connection IDs: things that can't be known/generated before the connection 
has been received.

e.g. gorilla/mux (https://github.com/gorilla/mux) uses it to pass 
route-matching information back to the user (i.e. for /user/:name, the 
:name value). Don't use context to pass app-level dependencies, as it makes 
testing, reasoning and debugging hard.



On Thursday, July 7, 2016 at 4:03:18 PM UTC-7, Tyler Compton wrote:
>
> I'm really excited to see context.Context become a first class citizen in 
> Go 1.7. After using context, it feels like a natural way to write Go 
> network code and it fits naturally in the standard library. I'm trying to 
> figure out how I can improve existing code with the new features that come 
> with it.
>
> In Go 1.7, requests now can contain a context, and the context can be 
> changed. This seems really cool, but I don't know what exactly I can do 
> that I can't do before, other than what the documentation specifically 
> outlines: "For outgoing client requests, the context controls cancelation."
>
> Is there anything else we will be able to do that I should be looking 
> into? What are your plans?
>

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to