app/helpers/ESClientManager.scala (15 lines of code) (raw):

package helpers import com.sksamuel.elastic4s.ElasticsearchClientUri import javax.inject.{Inject, Singleton} import play.api.Configuration import com.sksamuel.elastic4s.http.{HttpClient, RequestFailure} trait ESClientManager { def getClient():HttpClient } @Singleton class ESClientManagerImpl @Inject()(config:Configuration) extends ESClientManager { val esHost:String = config.get[String]("elasticsearch.hostname") val esPort:Int = config.get[Int]("elasticsearch.port") val sslFlag:Boolean = config.getOptional[Boolean]("elasticsearch.ssl").getOrElse(false) def getClient() = HttpClient(s"elasticsearch://$esHost:$esPort?ssl=$sslFlag") }