summaryrefslogtreecommitdiffhomepage
path: root/Server.hs
diff options
context:
space:
mode:
authorJoey Hess <joeyh@joeyh.name>2017-05-09 16:27:45 -0400
committerSean Whitton <spwhitton@spwhitton.name>2017-05-09 13:42:58 -0700
commit34575d754b729b91c4d7e475ea1aa6a119da8f32 (patch)
tree3dfaae077cd1c2a28a1125c30dead706da03f2d7 /Server.hs
parent24ac3c83db16fe6d52a326b77b1c0e4a26cb1a0a (diff)
downloaddebug-me-34575d754b729b91c4d7e475ea1aa6a119da8f32.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.hs11
1 files changed, 10 insertions, 1 deletions
diff --git a/Server.hs b/Server.hs
index ce4242c..70ded97 100644
--- a/Server.hs
+++ b/Server.hs
@@ -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