diff options
author | Joey Hess <joeyh@joeyh.name> | 2017-04-21 13:25:51 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2017-04-21 13:25:51 -0400 |
commit | 360d8ac4601dc5b48c22eeb93eb1853cee99e6c9 (patch) | |
tree | 57b1e55c818dc45862cb5375e541f7efee829530 /Server.hs | |
parent | e336a4fdf3d55f01b8c2871ceb906544a493eeb7 (diff) | |
download | debug-me-360d8ac4601dc5b48c22eeb93eb1853cee99e6c9.tar.gz |
http server scaffolding
Diffstat (limited to 'Server.hs')
-rw-r--r-- | Server.hs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Server.hs b/Server.hs new file mode 100644 index 0000000..5d919b8 --- /dev/null +++ b/Server.hs @@ -0,0 +1,26 @@ +{-# LANGUAGE OverloadedStrings #-} + +module Server where + +import CmdLine + +import Network.Wai +import Network.Wai.Handler.Warp +import Network.Wai.Handler.WebSockets +import qualified Network.WebSockets as WS +import Network.HTTP.Types +import Data.Text (Text) + +server :: ServerOpts -> IO () +server o = run (serverPort o) app + +app :: Application +app = websocketsOr WS.defaultConnectionOptions websocketApp webapp + where + webapp _ respond = respond $ + responseLBS status400 [] "Not a WebSocket request" + +websocketApp :: WS.ServerApp +websocketApp pending_conn = do + conn <- WS.acceptRequest pending_conn + WS.sendTextData conn ("Hello, client!" :: Text) |