From 81a11458253bb551da53dd6e5a0da5f332d3eae5 Mon Sep 17 00:00:00 2001 From: Jake Leahy Date: Thu, 1 Dec 2022 17:25:22 +1100 Subject: [PATCH 1/2] Parse IP address to see what domain to use --- jester.nim | 13 +++++++++++-- jester/request.nim | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/jester.nim b/jester.nim index 5c5379f..c193b2d 100644 --- a/jester.nim +++ b/jester.nim @@ -522,12 +522,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.}: result = handleRequest(jes, req), - httpbeast.initSettings(self.settings.port, self.settings.bindAddr, self.settings.numThreads) + httpbeast.initSettings(self.settings.port, self.settings.bindAddr, self.settings.numThreads, domain) ) else: self.httpServer = newAsyncHttpServer(reusePort=self.settings.reusePort) @@ -535,7 +544,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/request.nim b/jester/request.nim index 9a1a83c..249dc2a 100644 --- a/jester/request.nim +++ b/jester/request.nim @@ -1,6 +1,6 @@ import uri, cgi, tables, logging, strutils, re, options -import jester/private/utils +import private/utils when useHttpBeast: import httpbeast except Settings From 3f34d94a81f38514f4acf958e79f0dacaebeff59 Mon Sep 17 00:00:00 2001 From: ThomasTJdev Date: Sat, 20 Jan 2024 06:43:46 +0100 Subject: [PATCH 2/2] Bump min nim version to 1.6.18 (domain in serve*) --- .github/workflows/main.yml | 2 +- jester.nimble | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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.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: