]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/Config.hs
Merge branch 'convertible'
[Lucu.git] / Network / HTTP / Lucu / Config.hs
index 7a2d81f96586972b1cdc3bbd3969576a8ae92d10..d1afdc07058464f903a79e8fe5fcc7039099ed02 100644 (file)
@@ -9,14 +9,15 @@ 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.Convertible.Base
+import Data.Convertible.Instances.Text ()
+import Data.Default
 import Data.Text (Text)
-import qualified Data.Text as T
 import Network
 import Network.BSD
 import Network.HTTP.Lucu.MIMEType.Guess
@@ -105,19 +106,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                  = CI.mk ∘ 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 ∘ cs $ 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
-                }
--- FIXME: use data-default.
+          , cnfMaxPipelineDepth            = 100
+          , cnfMaxEntityLength             = 16 * 1024 * 1024 -- 16 MiB
+          , cnfDumpTooLateAbortionToStderr = True
+          , cnfExtToMIMEType               = defaultExtensionMap
+          }