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
|
conf <- getConfig appState
|
||||||
whenJust maybeAdminSocket $ \adminSocket -> do
|
whenJust maybeAdminSocket $ \adminSocket -> do
|
||||||
address <- resolveSocketToAddress adminSocket
|
address <- resolveSocketToAddress adminSocket
|
||||||
observer $ AdminStartObs address
|
void . forkIO $ Warp.runSettingsSocket (adminServerSettings conf address) adminSocket adminApp
|
||||||
void . forkIO $ Warp.runSettingsSocket (adminServerSettings conf) adminSocket adminApp
|
|
||||||
where
|
where
|
||||||
adminApp = admin appState getSocketREST
|
adminApp = admin appState getSocketREST
|
||||||
observer = AppState.getObserver appState
|
observer = AppState.getObserver appState
|
||||||
adminServerSettings config =
|
adminServerSettings config addr=
|
||||||
case configAdminServerPort config of
|
settings
|
||||||
Just p -> settings & Warp.setPort p
|
& Warp.setBeforeMainLoop (observer $ AdminStartObs addr)
|
||||||
Nothing -> settings
|
& maybe identity Warp.setPort (configAdminServerPort config)
|
||||||
|
|
||||||
-- | PostgREST admin application
|
-- | PostgREST admin application
|
||||||
admin :: AppState.AppState -> IO (Maybe NS.Socket) -> Wai.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,
|
import Data.IORef (atomicWriteIORef, newIORef,
|
||||||
readIORef)
|
readIORef)
|
||||||
import Data.String (IsString (..), String)
|
import Data.String (IsString (..), String)
|
||||||
import Network.Wai.Handler.Warp (defaultSettings, setHost,
|
import Network.Wai.Handler.Warp (defaultSettings, setBeforeMainLoop,
|
||||||
setOnException, setPort,
|
setHost, setOnException, setPort,
|
||||||
setServerName)
|
setServerName)
|
||||||
|
|
||||||
import qualified Data.Text.Encoding as T
|
import qualified Data.Text.Encoding as T
|
||||||
@@ -104,12 +104,12 @@ run appState = do
|
|||||||
let app = postgrest appState (AppState.schemaCacheLoader appState)
|
let app = postgrest appState (AppState.schemaCacheLoader appState)
|
||||||
|
|
||||||
address <- resolveSocketToAddress mainSocket
|
address <- resolveSocketToAddress mainSocket
|
||||||
observer $ AppServerAddressObs address
|
|
||||||
|
|
||||||
let
|
let
|
||||||
appServerSettings = serverSettings conf
|
appServerSettings = serverSettings conf
|
||||||
& setPort (configServerPort conf)
|
& setPort (configServerPort conf)
|
||||||
& setOnException onWarpException
|
& setOnException onWarpException
|
||||||
|
& setBeforeMainLoop (observer $ AppServerAddressObs address)
|
||||||
|
|
||||||
Warp.runSettingsSocket appServerSettings mainSocket app
|
Warp.runSettingsSocket appServerSettings mainSocket app
|
||||||
where
|
where
|
||||||
|
|||||||
Reference in New Issue
Block a user