You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I request support for X-Forwarded-For style information about the original client (I wish to know the IP address). I see a comment in the code also expressing this as a todo:
mdIn, _ := metadata.FromIncomingContext(ctx)
// requests going through the grpc gateway will have "pipe" as peer address.
// so we will first look for grpc headers, if they are not present we consider
// the request as direct gRPC request and take address from the peer.
// if we cannot determine the hostname, we will return error.
var hostname string
if headerVals := mdIn.Get("x-forwarded-for"); len(headerVals) > 0 {
hostname = headerVals[0]
}
if hostname == "" {
if p, ok := peer.FromContext(ctx); ok {
hostname = p.Addr.String()
}
}
if hostname == "" {
return nil, status.Error(codes.Unauthenticated, "no peer found")
}
// remove port from the hostname
if host, _, err := net.SplitHostPort(hostname); err == nil {
hostname = host
}
should be just a matter of adding the forwarded header and calling metadata.NewIncomingContext
I request support for X-Forwarded-For style information about the original client (I wish to know the IP address). I see a comment in the code also expressing this as a todo:
The text was updated successfully, but these errors were encountered: