2015-06-17 34 views
0

如何获取Play应用程序中的当前端口号?我使用scala。这里下面Play Framework:如何获取当前端口号

+0

你试过吗?:http://stackoverflow.com/questions/14970677/retrieving-port-number-in-play-framework-2-app – Identity1

+1

什么是您使用的Playframework的版本? –

+0

我正在使用Play 2.3.8 – j3d

回答

0

是我的解决方案:

def localHost()(implicit request: RequestHeader = null): Host = { 
    def loadFromConfig = { 
    val ssl = config.getBoolean("ssl").getOrElse(false) 
    val host = config.getString("host").getOrElse(EndPoint.DefaultHostName) 
    val port = Play.isTest match { 
     case false => System.getProperty("http.port", null) match { 
      case port if port != null => parse[Int](port).getOrElse(EndPoint.DefaultPort) 
      case _ => EndPoint.DefaultPort 
     } 
     case _ => System.getProperty("testserver.port", null) match { 
      case port if port != null => parse[Int](port).getOrElse(EndPoint.DefaultTestPort) 
      case _ => EndPoint.DefaultTestPort 
     } 
    } 
    Host(EndPoint(host, port), ssl) 
    } 

    request match { 
    case null => if (_localHost == null) this.synchronized { 
     if (_localHost == null) _localHost = loadFromConfig 
     } 
     _localHost 
    case _ => Host(EndPoint(Some(request.host)), request.secure) 
    } 
} 

我希望它能帮助。

相关问题