Skip to content

Commit 16a531e

Browse files
committed
trying to fix immediate exit of server
1 parent 850c85f commit 16a531e

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

client/testserver/src/main/scala/sttp/tapir/client/tests/HttpServer.scala

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class HttpServer(port: Port) {
3434

3535
private val logger = LoggerFactory.getLogger(getClass)
3636

37-
private var stopServer: IO[Unit] = _
37+
private val stopServer: Deferred[IO, Unit] = Deferred.unsafe[IO, Unit]
3838

3939
//
4040

@@ -214,21 +214,19 @@ class HttpServer(port: Port) {
214214
//
215215

216216
def start(): Unit = {
217-
val (_, _stopServer) = EmberServerBuilder
217+
EmberServerBuilder
218218
.default[IO]
219219
.withPort(ip4s.Port.fromInt(port).get)
220220
.withHttpWebSocketApp(app)
221221
.build
222-
.allocated
222+
.use(_ => stopServer.get)
223223
.unsafeRunSync()
224224

225-
stopServer = _stopServer
226-
227225
logger.info(s"Server on port $port started")
228226
}
229227

230228
def close(): Unit = {
231-
stopServer.unsafeRunSync()
229+
stopServer.complete(()).unsafeRunSync()
232230
logger.info(s"Server on port $port stopped")
233231
}
234232
}

0 commit comments

Comments
 (0)