]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/Config.hs
Code clean-up using convertible-text
[Lucu.git] / Network / HTTP / Lucu / Config.hs
index 7549ae5c0e07d33886b6cb5ed64b741f45ecde7f..366a63cb1aab9bad37f96cd9eb4f5d701fff01e6 100644 (file)
@@ -9,10 +9,12 @@ module Network.HTTP.Lucu.Config
 #if defined(HAVE_SSL)
     , SSLConfig(..)
 #endif
-    , defaultConfig
     )
     where
 import Data.Ascii (Ascii)
+import Data.CaseInsensitive (CI)
+import qualified Data.CaseInsensitive as CI
+import Data.Default
 import Data.Text (Text)
 import qualified Data.Text as T
 import Network
@@ -22,6 +24,7 @@ import Network.HTTP.Lucu.MIMEType.DefaultExtensionMap
 #if defined(HAVE_SSL)
 import OpenSSL.Session
 #endif
+import Prelude.Unicode
 import System.IO.Unsafe
 
 -- |Configuration record for to run the httpd.
@@ -33,7 +36,7 @@ data Config = Config {
 
     -- |The host name of the server. This value will be used in
     -- built-in pages like \"404 Not Found\".
-    , cnfServerHost ∷ !Text
+    , cnfServerHost ∷ !(CI Text)
 
     -- |A port number (or a service name) to listen to HTTP clients.
     , cnfServerPort ∷ !ServiceName
@@ -102,18 +105,18 @@ data SSLConfig
 -- |The default configuration. Generally you can use this value as-is,
 -- or possibly you just want to replace the 'cnfServerSoftware' and
 -- 'cnfServerPort'. SSL connections are disabled by default.
-defaultConfig ∷ Config
-defaultConfig = Config {
-                  cnfServerSoftware              = "Lucu/1.0"
-                , cnfServerHost                  = T.pack (unsafePerformIO getHostName)
-                , cnfServerPort                  = "http"
-                , cnfServerV4Addr                = Just "0.0.0.0"
-                , cnfServerV6Addr                = Just "::"
+instance Default Config where
+    def = Config {
+            cnfServerSoftware              = "Lucu/1.0"
+          , cnfServerHost                  = CI.mk ∘ T.pack $ unsafePerformIO getHostName
+          , cnfServerPort                  = "http"
+          , cnfServerV4Addr                = Just "0.0.0.0"
+          , cnfServerV6Addr                = Just "::"
 #if defined(HAVE_SSL)
-                , cnfSSLConfig                   = Nothing
+          , cnfSSLConfig                   = Nothing
 #endif
-                , cnfMaxPipelineDepth            = 100
-                , cnfMaxEntityLength             = 16 * 1024 * 1024 -- 16 MiB
-                , cnfDumpTooLateAbortionToStderr = True
-                , cnfExtToMIMEType               = defaultExtensionMap
-                }
+          , cnfMaxPipelineDepth            = 100
+          , cnfMaxEntityLength             = 16 * 1024 * 1024 -- 16 MiB
+          , cnfDumpTooLateAbortionToStderr = True
+          , cnfExtToMIMEType               = defaultExtensionMap
+          }