summaryrefslogtreecommitdiffhomepage
path: root/Server.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Server.hs')
-rw-r--r--Server.hs10
1 files changed, 9 insertions, 1 deletions
diff --git a/Server.hs b/Server.hs
index dc23643..5467fbe 100644
--- a/Server.hs
+++ b/Server.hs
@@ -82,7 +82,15 @@ closeSession :: Session -> STM ()
closeSession (Session bchan _ _) = closeTMChan bchan
server :: ServerOpts -> IO ()
-server o = run (serverPort o) . app o =<< newServerState
+server o = runSettings settings . app o =<< newServerState
+ where
+ settings =
+ -- Prefer IPv6 but allow IPv4 as well
+ -- (Workaround for
+ -- https://github.com/jaspervdj/websockets/issues/140)
+ setHost "*6" $
+ setPort (serverPort o) $
+ defaultSettings
app :: ServerOpts -> TVar ServerState -> Application
app o ssv = websocketsOr WS.defaultConnectionOptions (websocketApp o ssv) webapp