package play.core.server.common
import java.net.InetSocketAddress
import play.api.mvc.Headers
object ServerRequestUtils {
def findRemoteAddress(
forwardedHeaderHandler: ForwardedHeaderHandler,
: Headers,
connectionRemoteAddress: InetSocketAddress): String = {
val forwardedAddress: Option[String] = forwardedHeaderHandler.remoteAddress(headers)
forwardedAddress.getOrElse(connectionRemoteAddress.getAddress.getHostAddress)
}
def findSecureProtocol(
forwardedHeaderHandler: ForwardedHeaderHandler,
: Headers,
connectionSecureProtocol: Boolean): Boolean = {
val forwardedSecureFlag: Option[Boolean] = forwardedHeaderHandler.remoteProtocol(headers).map(_ == "https")
forwardedSecureFlag.getOrElse(connectionSecureProtocol)
}
}