Update
This commit is contained in:
8
src/Helpers.hs
Normal file
8
src/Helpers.hs
Normal file
@@ -0,0 +1,8 @@
|
||||
module Helpers where
|
||||
|
||||
import Data.String
|
||||
|
||||
|
||||
fS :: IsString a => String -> a
|
||||
fS = fromString
|
||||
|
||||
43
src/Main.hs
43
src/Main.hs
@@ -1,4 +1,45 @@
|
||||
module Main where
|
||||
|
||||
import Web.Scotty
|
||||
|
||||
import Data.Monoid (mconcat)
|
||||
import Helpers
|
||||
import Network.HTTP.Types.Status
|
||||
import qualified Data.Text.Lazy as T
|
||||
import Network.Wai
|
||||
import Network.Wai.Middleware.RequestLogger
|
||||
import Network.Wai.Middleware.HttpAuth
|
||||
import qualified Data.ByteString as BS
|
||||
import qualified Data.ByteString.UTF8 as U8
|
||||
|
||||
|
||||
main :: IO ()
|
||||
main = putStrLn "Hello, Haskell!"
|
||||
main = scotty 3000 $ do
|
||||
middleware auth
|
||||
middleware logging
|
||||
get (fS "/foo") foo
|
||||
get (fS "/:word") word_pattern
|
||||
|
||||
|
||||
word_pattern :: ActionM ()
|
||||
word_pattern = do
|
||||
beam <- param (fS "word")
|
||||
html $ mconcat [fS "<h1>Scotty, ", beam, fS " me up!</h1>"]
|
||||
|
||||
|
||||
foo :: ActionM ()
|
||||
foo = do
|
||||
status ok200
|
||||
text $ T.pack "Blah"
|
||||
return ()
|
||||
|
||||
|
||||
logging :: Middleware
|
||||
logging = logStdout
|
||||
|
||||
|
||||
auth :: Middleware
|
||||
auth = basicAuth (\u p -> return $
|
||||
u == U8.fromString "michael" &&
|
||||
p == U8.fromString "mypass")
|
||||
(fS "My Realm")
|
||||
|
||||
Reference in New Issue
Block a user