Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions codeworld-server/src/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,14 @@ import Model
import Network.HTTP.Simple
import Ormolu (OrmoluException, defaultConfig, ormolu)
import Snap.Core
import Snap.Http.Server (httpServe)
import qualified Snap.Http.Server.Config as S (commandLineConfig, defaultConfig, setPort)
import Snap.Http.Server (httpServe, ConfigLog (ConfigIoLog))
import qualified Snap.Http.Server.Config as S (commandLineConfig, defaultConfig, setPort, setErrorLog)
import Snap.Util.FileServe
import Snap.Util.FileUploads
import System.Directory
import System.FileLock
import System.FilePath
import System.IO (stderr)
import System.IO.Temp
import System.Environment (lookupEnv)
import Util
Expand All @@ -75,12 +76,16 @@ data Context = Context
config :: Config
}

customErrorLog :: ConfigLog
customErrorLog = ConfigIoLog $ B.hPutStr stderr

main :: IO ()
main = do
cfg <- loadConfig
ctx <- makeContext cfg
port <- maybe Nothing readMaybe <$> lookupEnv "PORT" :: IO (Maybe Int)
cfg <- S.commandLineConfig ((maybe id (\p -> S.setPort p) port) S.defaultConfig)
let customDefaultConfig = S.setErrorLog customErrorLog ((maybe id (\p -> S.setPort p) port) S.defaultConfig)
cfg <- S.commandLineConfig customDefaultConfig
forkIO $ baseVersion >>= buildBaseIfNeeded ctx >> return ()
httpServe cfg $ (processBody >> site ctx) <|> site ctx

Expand Down
2 changes: 0 additions & 2 deletions run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,5 @@ rm -rf $(for fn in $(find data/base -atime +20 -regex .*\\.js$ ); do dirname $fn

fuser -k -n tcp "${PORT}"

mkdir -p log

export CONFIG_PATH=$(pwd)/config.yaml
run . ./build/bin/codeworld-server -p $PORT --no-access-log
Loading