open-consul/agent/consul/context.go

24 lines
471 B
Go
Raw Normal View History

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
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
}