]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - examples/SSL.hs
docs
[Lucu.git] / examples / SSL.hs
index 23de8b04062c4d6b48b80b2b525ae913aab7610c..aa8b3a596ffa29031eb136d5b7587976c4ac3f0e 100644 (file)
@@ -10,6 +10,7 @@ import Control.Monad.Unicode
 import qualified Data.ByteString.Lazy.Char8 as Lazy
 import qualified Data.Collections as C
 import Data.Time.Clock
+import Network
 import Network.HTTP.Lucu
 import OpenSSL
 import OpenSSL.EVP.PKey
@@ -37,21 +38,20 @@ main = withOpenSSL $
               tree   ∷ ResourceTree
               tree   = C.fromList [ ([], nonGreedy helloWorld) ]
           putStrLn "Access https://localhost:9001/ with your browser."
-          runHttpd config $ resourceMap tree
+          withSocketsDo $ runHttpd config $ resourceMap tree
 
 helloWorld ∷ Resource
 helloWorld 
-    = C.fromList
-      [ ( GET
-        , do setContentType [mimeType| text/plain |]
-             putChunk "getRemoteCertificate = "
-             cert ← do cert ← getRemoteCertificate
-                       case cert of
-                         Just c  → liftIO $ Lazy.pack <$> printX509 c
-                         Nothing → return "Nothing"
-             putChunks cert
-        )
-      ]
+    = C.singleton
+      ( GET
+      , do setContentType [mimeType| text/plain |]
+           putChunk "getRemoteCertificate = "
+           cert ← do cert ← getRemoteCertificate
+                     case cert of
+                       Just c  → liftIO $ Lazy.pack <$> printX509 c
+                       Nothing → return "Nothing"
+           putChunks cert
+      )
 
 genCert ∷ KeyPair k ⇒ k → IO X509
 genCert pkey