package server import ( "golang.org/x/net/context" ) type serverKey struct{} func wait(ctx context.Context) bool { if ctx == nil { return false } wait, _ := ctx.Value("wait").(bool) return wait } func FromContext(ctx context.Context) (Server, bool) { c, ok := ctx.Value(serverKey{}).(Server) return c, ok } func NewContext(ctx context.Context, s Server) context.Context { return context.WithValue(ctx, serverKey{}, s) }