open-consul/agent/consul/context.go

21 lines
401 B
Go

package consul
import (
"context"
"net"
)
type contextKeyRemoteAddr struct{}
func ContextWithRemoteAddr(ctx context.Context, addr net.Addr) context.Context {
return context.WithValue(ctx, contextKeyRemoteAddr{}, addr)
}
func RemoteAddrFromContext(ctx context.Context) (net.Addr, bool) {
v := ctx.Value(contextKeyRemoteAddr{})
if v == nil {
return nil, false
}
return v.(net.Addr), true
}