summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew <saintruler@gmail.com>2020-11-27 22:32:26 +0400
committerAndrew <saintruler@gmail.com>2020-11-27 22:32:26 +0400
commitdd73de2e563c332c5a90bb21c5c7e6cbebc0ab86 (patch)
treed23b3846beb6f93c91762cd56a929d9226838d45
parent46d7f5d2d88a62ed2c77514c33d97e25d737881c (diff)
Added settings files
-rw-r--r--Main.hs15
-rw-r--r--Settings.hs4
-rw-r--r--haskell-web.cabal7
3 files changed, 19 insertions, 7 deletions
diff --git a/Main.hs b/Main.hs
index 56fa613..433ad8d 100644
--- a/Main.hs
+++ b/Main.hs
@@ -16,22 +16,25 @@ import Web.Response
import Web.Router
import Routes
+import Settings (host, port)
+
main :: IO ()
main = do
- print "Server launched"
- runTCPServer Nothing "3000" talk
+ let hostStr = case host of
+ Just smt -> smt
+ Nothing -> "0.0.0.0"
+
+ putStrLn $ "Server launched on " ++ hostStr ++ ":" ++ port
+ runTCPServer host port talk
where
talk s = do
msg <- recv s 1024
- -- print msg
- print "Got request"
+ putStrLn "Got request"
unless (S.null msg) $ do
let (request, _, _) = parseHttp $ decodeUtf8 msg
response <- resolve routesTable $ request
sendAll s $ encodeUtf8 (formResponse response)
-
--- from the "network-run" package.
runTCPServer :: Maybe HostName -> ServiceName -> (Socket -> IO a) -> IO a
runTCPServer mhost port server = withSocketsDo $ do
addr <- resolve
diff --git a/Settings.hs b/Settings.hs
new file mode 100644
index 0000000..0d55606
--- /dev/null
+++ b/Settings.hs
@@ -0,0 +1,4 @@
+module Settings where
+
+host = Nothing
+port = "3000"
diff --git a/haskell-web.cabal b/haskell-web.cabal
index 4141764..9fd655e 100644
--- a/haskell-web.cabal
+++ b/haskell-web.cabal
@@ -19,8 +19,13 @@ executable haskell-web
, Web.Utils
, Views
, Routes
+ , Settings
-- other-extensions:
build-depends:
- base >=4.14 && <4.15, text, http-types, bytestring, network
+ base >=4.14 && <4.15
+ , text
+ , http-types
+ , bytestring
+ , network
-- hs-source-dirs:
default-language: Haskell2010