From 5ca16485e4d74e531d50d289ebc0f869d9e6352b Mon Sep 17 00:00:00 2001 From: Eugene Kabanov Date: Tue, 31 Oct 2023 05:18:35 +0200 Subject: [PATCH] Add guarantees that PRESTO server constructors do not raise exceptions. (#66) --- presto/secureserver.nim | 6 ++++-- presto/server.nim | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/presto/secureserver.nim b/presto/secureserver.nim index 77580cf..fa49e00 100644 --- a/presto/secureserver.nim +++ b/presto/secureserver.nim @@ -13,6 +13,8 @@ import stew/results import route, common, segpath, servercommon, serverprivate, agent export options, chronos, shttpserver, servercommon, chronicles, agent +{.push raises: [].} + type SecureRestServer* = object of RootObj server*: SecureHttpServerRef @@ -68,11 +70,11 @@ proc new*(t: typedesc[SecureRestServerRef], else: {.fatal: "Error type is not supported".} -proc localAddress*(rs: SecureRestServerRef): TransportAddress {.raises: [].} = +proc localAddress*(rs: SecureRestServerRef): TransportAddress = ## Returns `rs` bound local socket address. rs.server.instance.localAddress() -proc state*(rs: SecureRestServerRef): RestServerState {.raises: [].} = +proc state*(rs: SecureRestServerRef): RestServerState = ## Returns current REST server's state. case rs.server.state of HttpServerState.ServerClosed: diff --git a/presto/server.nim b/presto/server.nim index 5fa9503..f7bea02 100644 --- a/presto/server.nim +++ b/presto/server.nim @@ -13,6 +13,8 @@ import stew/results import route, common, segpath, servercommon, serverprivate, agent export options, chronos, httpserver, servercommon, chronicles, agent +{.push raises: [].} + type RestServer* = object of RootObj server*: HttpServerRef @@ -61,11 +63,11 @@ proc new*(t: typedesc[RestServerRef], else: {.fatal: "Error type is not supported".} -proc localAddress*(rs: RestServerRef): TransportAddress {.raises: [].} = +proc localAddress*(rs: RestServerRef): TransportAddress = ## Returns `rs` bound local socket address. rs.server.instance.localAddress() -proc state*(rs: RestServerRef): RestServerState {.raises: [].} = +proc state*(rs: RestServerRef): RestServerState = ## Returns current REST server's state. case rs.server.state of HttpServerState.ServerClosed: