]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/Config.hs
Added a configuration flag -fssl to enable SSL support. (default: off)
[Lucu.git] / Network / HTTP / Lucu / Config.hs
index 2ea2055de853c35faa89f4d2e21cf3d3c2d74d83..7549ae5c0e07d33886b6cb5ed64b741f45ecde7f 100644 (file)
@@ -1,11 +1,14 @@
 {-# LANGUAGE
-    OverloadedStrings
+    CPP
+  , OverloadedStrings
   , UnicodeSyntax
   #-}
 -- |Configurations for the Lucu httpd.
 module Network.HTTP.Lucu.Config
     ( Config(..)
+#if defined(HAVE_SSL)
     , SSLConfig(..)
+#endif
     , defaultConfig
     )
     where
@@ -16,7 +19,9 @@ import Network
 import Network.BSD
 import Network.HTTP.Lucu.MIMEType.Guess
 import Network.HTTP.Lucu.MIMEType.DefaultExtensionMap
+#if defined(HAVE_SSL)
 import OpenSSL.Session
+#endif
 import System.IO.Unsafe
 
 -- |Configuration record for to run the httpd.
@@ -46,9 +51,11 @@ data Config = Config {
     -- problem.)
     , cnfServerV6Addr ∷ !(Maybe HostName)
 
+#if defined(HAVE_SSL)
     -- |Configuration for HTTPS connections. Set this 'Nothing' to
     -- disable HTTPS.
     , cnfSSLConfig ∷ !(Maybe SSLConfig)
+#endif
 
     -- |The maximum number of requests to simultaneously accept in one
     -- connection. If a client exceeds this limitation, its last
@@ -77,6 +84,7 @@ data Config = Config {
     , cnfExtToMIMEType ∷ !ExtMap
     }
 
+#if defined(HAVE_SSL)
 -- |Configuration record for HTTPS connections.
 data SSLConfig
     = SSLConfig {
@@ -89,6 +97,7 @@ data SSLConfig
         -- up yourself with at least a server certification.
       , sslContext ∷ !SSLContext
       }
+#endif
 
 -- |The default configuration. Generally you can use this value as-is,
 -- or possibly you just want to replace the 'cnfServerSoftware' and
@@ -100,7 +109,9 @@ defaultConfig = Config {
                 , cnfServerPort                  = "http"
                 , cnfServerV4Addr                = Just "0.0.0.0"
                 , cnfServerV6Addr                = Just "::"
+#if defined(HAVE_SSL)
                 , cnfSSLConfig                   = Nothing
+#endif
                 , cnfMaxPipelineDepth            = 100
                 , cnfMaxEntityLength             = 16 * 1024 * 1024 -- 16 MiB
                 , cnfDumpTooLateAbortionToStderr = True