From 9e0f9bc4eed9fd01f7024eeab7e26ad36f6a1a98 Mon Sep 17 00:00:00 2001 From: Taimoor Zaeem Date: Tue, 23 Jun 2026 16:56:07 +0500 Subject: [PATCH] refactor: correct admin server port setting For admin server, port server-setting was set to the same port as app server port. This doesn't have any effect because it is overridden by the already initialized admin server socket, but it's better to explicitly correct it to avoid anything unexpected. Signed-off-by: Taimoor Zaeem --- src/PostgREST/Admin.hs | 10 ++++++++-- src/PostgREST/App.hs | 8 ++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/PostgREST/Admin.hs b/src/PostgREST/Admin.hs index f8501417b..1c425b898 100644 --- a/src/PostgREST/Admin.hs +++ b/src/PostgREST/Admin.hs @@ -11,7 +11,8 @@ import Control.Monad.Extra (whenJust) import Network.Socket hiding (addrFamily) import Network.Socket.ByteString -import PostgREST.AppState (AppState) +import PostgREST.AppState (AppState, getConfig) +import PostgREST.Config (AppConfig (..)) import PostgREST.MediaType (MediaType (..), toContentType) import PostgREST.Metrics (metricsToText) import PostgREST.Network (resolveSocketToAddress) @@ -24,13 +25,18 @@ import Protolude runAdmin :: AppState -> Maybe NS.Socket -> IO (Maybe NS.Socket) -> Warp.Settings -> IO () runAdmin appState maybeAdminSocket getSocketREST settings = do + conf <- getConfig appState whenJust maybeAdminSocket $ \adminSocket -> do address <- resolveSocketToAddress adminSocket observer $ AdminStartObs address - void . forkIO $ Warp.runSettingsSocket settings adminSocket adminApp + void . forkIO $ Warp.runSettingsSocket (adminServerSettings conf) 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 -- | PostgREST admin application admin :: AppState.AppState -> IO (Maybe NS.Socket) -> Wai.Application diff --git a/src/PostgREST/App.hs b/src/PostgREST/App.hs index 3244a241b..3f02237ac 100644 --- a/src/PostgREST/App.hs +++ b/src/PostgREST/App.hs @@ -106,7 +106,12 @@ run appState = do address <- resolveSocketToAddress mainSocket observer $ AppServerAddressObs address - Warp.runSettingsSocket (serverSettings conf & setOnException onWarpException) mainSocket app + let + appServerSettings = serverSettings conf + & setPort (configServerPort conf) + & setOnException onWarpException + + Warp.runSettingsSocket appServerSettings mainSocket app where observer = AppState.getObserver appState @@ -129,7 +134,6 @@ serverSettings :: AppConfig -> Warp.Settings serverSettings AppConfig{..} = defaultSettings & setHost (fromString $ toS configServerHost) - & setPort configServerPort & setServerName ("postgrest/" <> prettyVersion) -- | PostgREST application