From 05375cbaf2dda1e8146f6cdbbd635e59de54a732 Mon Sep 17 00:00:00 2001 From: pho Date: Wed, 3 Mar 2010 17:46:00 +0900 Subject: [PATCH] Added cnfServerV4Addr and cnfServerV6Addr to Lucu.Config but those values are ignored for now. Ignore-this: 7d99ff846500882e5c28a7d9a626afc5 darcs-hash:20100303084600-62b54-600b19a78e8bb662eadef9905fde5dc5831c8c3f.gz --- Network/HTTP/Lucu/Config.hs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Network/HTTP/Lucu/Config.hs b/Network/HTTP/Lucu/Config.hs index d2b0f60..847b737 100644 --- a/Network/HTTP/Lucu/Config.hs +++ b/Network/HTTP/Lucu/Config.hs @@ -29,6 +29,18 @@ data Config = Config { -- |A port ID to listen to HTTP clients. , cnfServerPort :: !PortID + -- |Local IPv4 address to listen to HTTP clients. Set this to + -- @('Just' "0.0.0.0")@ if you want to accept any IPv4 + -- connections. Set this to 'Nothing' to disable IPv4. + , cnfServerV4Addr :: !(Maybe HostName) + + -- |Local IPv6 address to listen to HTTP clients. Set this to + -- @('Just' "::")@ if you want to accept any IPv6 connections. Set + -- this to 'Nothing' to disable IPv6. Note that there is currently + -- no way to assign separate ports to IPv4 and IPv6 server + -- sockets. + , cnfServerV6Addr :: !(Maybe HostName) + -- |Configuration for HTTPS connections. Set this 'Nothing' to -- disable HTTPS. , cnfSSLConfig :: !(Maybe SSLConfig) @@ -73,8 +85,11 @@ data Config = Config { -- |Configuration record for HTTPS connections. data SSLConfig = SSLConfig { - -- |A port ID to listen to HTTPS clients. + -- |A port ID to listen to HTTPS clients. Local addresses + -- (both for IPv4 and IPv6) will be derived from the parent + -- 'Config'. sslServerPort :: !PortID + -- |An SSL context for accepting connections. , sslContext :: !SSLContext } @@ -87,6 +102,8 @@ defaultConfig = Config { cnfServerSoftware = C8.pack "Lucu/1.0" , cnfServerHost = C8.pack (unsafePerformIO getHostName) , cnfServerPort = Service "http" + , cnfServerV4Addr = Just "0.0.0.0" + , cnfServerV6Addr = Just "::" , cnfSSLConfig = Nothing , cnfMaxPipelineDepth = 100 , cnfMaxEntityLength = 16 * 1024 * 1024 -- 16 MiB -- 2.40.0