21 lines
401 B
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
|
|
}
|