diff options
| author | LLLL Colonq <llll@colonq> | 2024-11-18 03:30:36 -0500 |
|---|---|---|
| committer | LLLL Colonq <llll@colonq> | 2024-11-18 03:30:36 -0500 |
| commit | e634e73d3fc4e9ed8b9a0bde3266183c5e936036 (patch) | |
| tree | e3dcb77f648998f4b831cab776cbf354ae05d45f /fig-web/src/Fig/Web | |
| parent | fdb4f1c6155a178aafb396c70ff2ce5ecc46e796 (diff) | |
Move some endpoints around
Diffstat (limited to 'fig-web/src/Fig/Web')
| -rw-r--r-- | fig-web/src/Fig/Web/Secure.hs | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/fig-web/src/Fig/Web/Secure.hs b/fig-web/src/Fig/Web/Secure.hs index 54a5306..d82451d 100644 --- a/fig-web/src/Fig/Web/Secure.hs +++ b/fig-web/src/Fig/Web/Secure.hs @@ -4,31 +4,19 @@ module Fig.Web.Secure where import Fig.Prelude -import System.Random (randomRIO) - -import Control.Monad (unless) -import Control.Lens (use, (^?), Ixed (..)) -import qualified Control.Concurrent.Chan as Chan -import qualified Control.Concurrent.MVar as MVar - -import Data.Maybe (mapMaybe) import qualified Data.Text as Text -import qualified Data.Text.Lazy as Text.L import qualified Data.ByteString.Base64 as BS.Base64 import qualified Data.Set as Set import qualified Network.Wai as Wai --- import qualified Network.Wai.Middleware.Static as Wai.Static +import qualified Network.Wai.Middleware.Static as Wai.Static import qualified Network.Wai.Handler.Warp as Warp -import qualified Network.WebSockets as WS import qualified Web.Scotty as Sc import Fig.Utils.SExpr import Fig.Bus.Client import Fig.Web.Utils -import Fig.Web.Auth -import Fig.Web.State import qualified Fig.Web.DB as DB data LiveEvent @@ -55,10 +43,31 @@ sexprStr = SExprString . BS.Base64.encodeBase64 . encodeUtf8 app :: Config -> Commands IO -> IO Wai.Application app cfg cmds = do log "Connecting to database..." - db <- DB.connect cfg + _db <- DB.connect cfg log "Connected! Secure server active." Sc.scottyApp do + Sc.middleware . Wai.Static.staticPolicy $ mconcat + [ Wai.Static.isNotAbsolute + , Wai.Static.only + [ ("menu", "menu.html") + , ("main.css", "main.css") + , ("main.js", "main.js") + ] Wai.Static.<|> Wai.Static.hasPrefix "assets" + , Wai.Static.addBase cfg.assetPath + ] Sc.get "/" do Sc.text "this is the secure endpoint" + Sc.post "/api/redeem" do + me <- Text.toLower <$> Sc.formParam "ayem" + name <- Sc.formParam "name" + input <- Sc.formParamMaybe "input" + liftIO $ cmds.publish [sexp|(frontend redeem incoming)|] + $ mconcat + [ [ sexprStr me + , sexprStr name + ] + , maybe [] ((:[]) . sexprStr) input + ] + Sc.text "it worked" Sc.notFound do Sc.text "not found" |
