Skip to content

Commit a29b94f

Browse files
committed
fix tests (use an Option to make code backward compatible)
1 parent 303e30c commit a29b94f

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/httpbeast.nim

+5-4
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,10 @@ type
5454
domain*: Domain
5555
numThreads: int
5656
loggers: seq[Logger]
57-
reusePort*: bool
57+
reusePort*: Option[bool]
5858
# when false, will fail if --threads is passed or if 2
59-
# processes bind to same address/port
59+
# processes bind to same address/port. We use an Option to avoid
60+
# breaking code that relies on `Settings(port: port)`
6061

6162
HttpBeastDefect* = ref object of Defect
6263

@@ -73,7 +74,7 @@ proc initSettings*(port: Port = Port(8080),
7374
domain: domain,
7475
numThreads: numThreads,
7576
loggers: getHandlers(),
76-
reusePort: reusePort,
77+
reusePort: some(reusePort),
7778
)
7879

7980
proc initData(fdKind: FdKind, ip = ""): Data =
@@ -320,7 +321,7 @@ proc eventLoop(params: (OnRequest, Settings)) =
320321

321322
let server = newSocket(settings.domain)
322323
server.setSockOpt(OptReuseAddr, true)
323-
server.setSockOpt(OptReusePort, settings.reusePort)
324+
server.setSockOpt(OptReusePort, settings.reusePort.get(true))
324325
server.bindAddr(settings.port, settings.bindAddr)
325326
server.listen()
326327
server.getFd().setBlocking(false)

0 commit comments

Comments
 (0)