refactor: log server listening observations after listening socket is ready

Correct behavior is to log this after the listening socket is ready.

Signed-off-by: Taimoor Zaeem <taimoorzaeem@gmail.com>
This commit is contained in:
Taimoor Zaeem
2026-06-26 16:01:55 +05:00
parent a6840f9bf9
commit 67956b3cb1
2 changed files with 8 additions and 9 deletions
+5 -6
View File
@@ -28,15 +28,14 @@ runAdmin appState maybeAdminSocket getSocketREST settings = do
conf <- getConfig appState
whenJust maybeAdminSocket $ \adminSocket -> do
address <- resolveSocketToAddress adminSocket
observer $ AdminStartObs address
void . forkIO $ Warp.runSettingsSocket (adminServerSettings conf) adminSocket adminApp
void . forkIO $ Warp.runSettingsSocket (adminServerSettings conf address) adminSocket adminApp
where
adminApp = admin appState getSocketREST
observer = AppState.getObserver appState
adminServerSettings config =
case configAdminServerPort config of
Just p -> settings & Warp.setPort p
Nothing -> settings
adminServerSettings config addr=
settings
& Warp.setBeforeMainLoop (observer $ AdminStartObs addr)
& maybe identity Warp.setPort (configAdminServerPort config)
-- | PostgREST admin application
admin :: AppState.AppState -> IO (Maybe NS.Socket) -> Wai.Application
+3 -3
View File
@@ -29,8 +29,8 @@ import Data.Either.Combinators (mapLeft, whenLeft)
import Data.IORef (atomicWriteIORef, newIORef,
readIORef)
import Data.String (IsString (..), String)
import Network.Wai.Handler.Warp (defaultSettings, setHost,
setOnException, setPort,
import Network.Wai.Handler.Warp (defaultSettings, setBeforeMainLoop,
setHost, setOnException, setPort,
setServerName)
import qualified Data.Text.Encoding as T
@@ -104,12 +104,12 @@ run appState = do
let app = postgrest appState (AppState.schemaCacheLoader appState)
address <- resolveSocketToAddress mainSocket
observer $ AppServerAddressObs address
let
appServerSettings = serverSettings conf
& setPort (configServerPort conf)
& setOnException onWarpException
& setBeforeMainLoop (observer $ AppServerAddressObs address)
Warp.runSettingsSocket appServerSettings mainSocket app
where