diff options
author | Joey Hess <joeyh@joeyh.name> | 2017-05-09 16:27:45 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2017-05-09 16:27:45 -0400 |
commit | 54182fd08797eb82fe39dd67b7b5039aaa1dc0a1 (patch) | |
tree | 689c05251341632ce8a895a50231b3e00e63094a /Server.hs | |
parent | 0bf26b8e905e2685c92e8eef4d9cdd9fcf5c49c4 (diff) | |
download | debug-me-54182fd08797eb82fe39dd67b7b5039aaa1dc0a1.tar.gz |
Server: DEBUG_ME_FROM_EMAIL can be used to specify the --from-email.
This is used in debug-me.default to encourage configuring it.
Diffstat (limited to 'Server.hs')
-rw-r--r-- | Server.hs | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -33,6 +33,7 @@ import System.IO import System.Directory import System.Mem.Weak import Network.Mail.Mime +import System.Environment type ServerState = M.Map SessionID Session @@ -95,7 +96,9 @@ closeSession :: Session -> STM () closeSession (Session bchan _ _) = closeTMChan bchan server :: ServerOpts -> IO () -server o = runSettings settings . app o =<< newServerState +server o = do + o' <- checkEnv o + runSettings settings . app o' =<< newServerState where settings = -- Prefer IPv6 but allow IPv4 as well @@ -105,6 +108,12 @@ server o = runSettings settings . app o =<< newServerState setPort (serverPort o) $ defaultSettings +checkEnv :: ServerOpts -> IO ServerOpts +checkEnv o = go <$> lookupEnv "DEBUG_ME_FROM_EMAIL" + where + go Nothing = o + go (Just email) = o { serverEmail = Just (T.pack email) } + app :: ServerOpts -> TVar ServerState -> Application app o ssv = websocketsOr connectionOptions (websocketApp o ssv) webapp where |