diff --git a/core/src/main/scala/com.snowplowanalytics.snowplow.collector.core/HttpServer.scala b/core/src/main/scala/com.snowplowanalytics.snowplow.collector.core/HttpServer.scala index 9eca22ec7..a120cbafd 100644 --- a/core/src/main/scala/com.snowplowanalytics.snowplow.collector.core/HttpServer.scala +++ b/core/src/main/scala/com.snowplowanalytics.snowplow.collector.core/HttpServer.scala @@ -217,7 +217,7 @@ object HttpServer { ) } - def mkTls(secure: Boolean): Resource[F, KeyManagerFactory] = + def mkTls(secure: Boolean): Resource[F, Option[KeyManagerFactory]] = if (secure) { for { tlsConfig <- Resource.eval(ArmeriaTlsConfig.from(System.getProperties())) @@ -225,8 +225,8 @@ object HttpServer { ks = KeyStore.getInstance(tlsConfig.ksType) _ <- Resource.eval(Async[F].delay(ks.load(new FileInputStream(tlsConfig.ksPath), tlsConfig.ksPass.toArray))) _ <- Resource.eval(Async[F].delay(kmf.init(ks, tlsConfig.ksPass.toArray))) - } yield kmf - } else Resource.never + } yield Some(kmf) + } else Resource.pure(None) for { _ <- Resource.eval(Logger[F].info(s"Building Armeria server")) @@ -238,7 +238,7 @@ object HttpServer { "/", loggerMiddleware(timeoutMiddleware(hstsMiddleware(hsts, routes.orNotFound), networking), debugHttp) ) - .cond(secure, _.withTls(kmf)) + .cond(secure && kmf.isDefined, _.withTls(kmf.get)) .withIdleTimeout(networking.idleTimeout) .withRequestTimeout(networking.responseHeaderTimeout) .resource