46 righe
931 B
Haskell
46 righe
931 B
Haskell
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 = 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")
|