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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user