21 lines
763 B
Haskell
21 lines
763 B
Haskell
{-# LANGUAGE OverloadedStrings #-}
|
|
|
|
module WaiApp (waiApplication, WSA.newServerState, WSA.ServerState) where
|
|
|
|
import qualified WebSocketApp as WSA
|
|
import qualified Network.WebSockets as WS
|
|
import Network.Wai.Handler.WebSockets
|
|
import Network.Wai
|
|
import Network.HTTP.Types
|
|
import Control.Concurrent.MVar
|
|
import Control.Monad.Reader.Class
|
|
import Environment
|
|
|
|
waiApplication :: MVar WSA.ServerState -> EnvM Application
|
|
waiApplication serverState = do
|
|
app <- WSA.application serverState
|
|
return $ websocketsOr WS.defaultConnectionOptions app clientServer
|
|
|
|
-- this should serve the webclient see Network.Wai.responseFile
|
|
clientServer :: Application
|
|
clientServer _ respond = respond $ responseLBS status404 [] "No webclient implemented (Franzi essen ?? -- Emma)"
|