diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d2bfaf6..374df0c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,7 +11,7 @@ jobs: strategy: matrix: nim: - - 1.4.8 + - 1.6.18 - 2.0.2 os: - ubuntu-latest diff --git a/jester.nim b/jester.nim index 6950a3f..03e92d6 100644 --- a/jester.nim +++ b/jester.nim @@ -532,12 +532,21 @@ proc serve*( [$self.settings.port, self.settings.appName]) var jes = self + let domain = block: + if self.settings.bindAddr != "": + let ip = self.settings.bindAddr.parseIpAddress() + if ip.family == IPv4: + AF_INET + else: + AF_INET6 + else: + AF_INET when useHttpBeast: run( proc (req: httpbeast.Request): Future[void] = - {.gcsafe.}: + {.gcsafe.}: result = handleRequest(jes, req), - httpbeast.initSettings(self.settings.port, self.settings.bindAddr, self.settings.numThreads, startup = self.settings.startup) + httpbeast.initSettings(self.settings.port, self.settings.bindAddr, self.settings.numThreads, startup = self.settings.startup, domain = domain) ) else: self.httpServer = newAsyncHttpServer(reusePort=self.settings.reusePort, maxBody=self.settings.maxBody) @@ -545,7 +554,7 @@ proc serve*( self.settings.port, proc (req: asynchttpserver.Request): Future[void] {.gcsafe, closure.} = result = handleRequest(jes, req), - self.settings.bindAddr) + self.settings.bindAddr, domain = domain) if not self.settings.futureErrorHandler.isNil: serveFut.callback = self.settings.futureErrorHandler else: diff --git a/jester.nimble b/jester.nimble index e7a4bbf..84fa5c9 100644 --- a/jester.nimble +++ b/jester.nimble @@ -10,7 +10,7 @@ skipDirs = @["tests"] # Deps -requires "nim >= 1.4.8" +requires "nim >= 1.6.18" when not defined(windows): when NimMajor >= 2: diff --git a/jester/request.nim b/jester/request.nim index 1700365..e4fe4ed 100644 --- a/jester/request.nim +++ b/jester/request.nim @@ -1,7 +1,7 @@ import uri, cgi, tables, logging, strutils, re, options from sequtils import map -import jester/private/utils +import private/utils when useHttpBeast: import httpbeast except Settings