From 56b0689b04e54b599612442f8abb5fa13334deae Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Tue, 21 Feb 2017 16:22:57 +0100 Subject: [PATCH] add option to change the app base URL --- src/Breve/Settings.hs | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/Breve/Settings.hs b/src/Breve/Settings.hs index 1fa18ca..302ecc4 100644 --- a/src/Breve/Settings.hs +++ b/src/Breve/Settings.hs @@ -34,29 +34,29 @@ settings = do urlsPath <- getUserDataFile "breve" "" configPath <- getUserConfigFile "breve" "" - config <- load [Required configPath] - host <- lookupDefault "localhost" config "hostname" - port <- lookupDefault 3000 config "port" - urls <- lookupDefault urlsPath config "urltable" - cert <- lookupDefault "/usr/share/tls/breve.crt" config "tls.cert" - key <- lookupDefault "/usr/share/tls/breve.key" config "tls.key" - chain <- lookupDefault [] config "tls.chain" + config <- load [Required configPath] + host <- lookupDefault "localhost" config "hostname" + portnum <- lookupDefault 3000 config "port" + urls <- lookupDefault urlsPath config "urltable" + cert <- lookupDefault "/usr/share/tls/breve.crt" config "tls.cert" + key <- lookupDefault "/usr/share/tls/breve.key" config "tls.key" + chain <- lookupDefault [] config "tls.chain" + + let + port = if portnum == 443 then "" else ":" <> pack (show portnum) + url = "https://" <> host <> port <> "/" + + baseURL <- lookupDefault url config "baseurl" createEmptyIfMissing urls - let base = "https://" <> host - url = if port == 443 - then base - else base <> ":" <> pack (show port) - tls = (tlsSettingsChain cert chain key) - { tlsAllowedVersions = [TLS12, TLS11] - , tlsCiphers = ciphersuite_strong - } - return AppSettings { bindHost = host - , bindPort = port - , bindUrl = url <> "/" + , bindPort = portnum + , bindUrl = baseURL , urlTable = urls - , tlsSettings = tls + , tlsSettings = (tlsSettingsChain cert chain key) + { tlsAllowedVersions = [TLS12, TLS11] + , tlsCiphers = ciphersuite_strong + } }