From 4b5a5b0f688d22f016108308161e53eca1d5f0c0 Mon Sep 17 00:00:00 2001 From: matsrietdijk Date: Sat, 25 Aug 2018 18:29:50 +0200 Subject: [PATCH 1/3] Add warp-tls --- typesafe-websockets.cabal | 1 + 1 file changed, 1 insertion(+) diff --git a/typesafe-websockets.cabal b/typesafe-websockets.cabal index 708bf77..95a96fd 100644 --- a/typesafe-websockets.cabal +++ b/typesafe-websockets.cabal @@ -21,6 +21,7 @@ executable typesafe-websockets , wai , wai-websockets , warp + , warp-tls , websockets , http-types , safe From 173db1d59422aa8e6cb759d6e39a727d74b77377 Mon Sep 17 00:00:00 2001 From: matsrietdijk Date: Sat, 25 Aug 2018 18:30:23 +0200 Subject: [PATCH 2/3] Run application with warp-tls --- src/Main.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Main.hs b/src/Main.hs index e54424d..477a0ee 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -12,14 +12,16 @@ import qualified Data.Text as Text import qualified Network.HTTP.Types as Http import qualified Network.Wai as Wai import qualified Network.Wai.Handler.Warp as Warp +import qualified Network.Wai.Handler.WarpTLS as WarpTLS import qualified Network.Wai.Handler.WebSockets as WS import qualified Network.WebSockets as WS import qualified Safe main :: IO () main = do + let tlsSettings = WarpTLS.tlsSettings "./localhost.crt" "./localhost.key" state <- Concurrent.newMVar [] - Warp.run 3000 $ WS.websocketsOr + WarpTLS.runTLS tlsSettings Warp.defaultSettings $ WS.websocketsOr WS.defaultConnectionOptions (wsApp state) httpApp From 959b58f6667004353642ece74fda2f4a7bfb029c Mon Sep 17 00:00:00 2001 From: matsrietdijk Date: Sat, 25 Aug 2018 18:30:40 +0200 Subject: [PATCH 3/3] Connect elm via wss --- src/Main.elm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Main.elm b/src/Main.elm index 2e870e6..7ad673d 100644 --- a/src/Main.elm +++ b/src/Main.elm @@ -33,7 +33,7 @@ view model = ] wsUrl : String -wsUrl = "ws://localhost:3000" +wsUrl = "wss://localhost:3000" update : Msg -> Model -> (Model, Cmd Msg) update msg model =