#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
-- |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
- }
+ , cnfMaxPipelineDepth = 100
+ , cnfMaxEntityLength = 16 * 1024 * 1024 -- 16 MiB
+ , cnfDumpTooLateAbortionToStderr = True
+ , cnfExtToMIMEType = defaultExtensionMap
+ }