All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eventstore.akka.Http.scala Maven / Gradle / Ivy

package eventstore
package akka

import scala.concurrent.Future
import _root_.akka.actor.ActorSystem
import okhttp3._
import sttp.client3._
import sttp.client3.okhttp.OkHttpFutureBackend

private[eventstore] object Http {

  private def mkOkHttpClient(useTls: Boolean, system: ActorSystem): OkHttpClient = {
    val builder = new OkHttpClient.Builder()
    if(useTls) {
      val (sc, tm) = Tls.createSSLContextAndTrustManager(system)
      builder.sslSocketFactory(sc.getSocketFactory, tm).build()
    } else
      builder.build()
  }

  def mkSttpFutureBackend(useTls: Boolean, system: ActorSystem): SttpBackend[Future, Any] =
    OkHttpFutureBackend.usingClient(mkOkHttpClient(useTls, system))

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy