module Web.Minion.Examples.Static (app) where

import Web.Minion
import Web.Minion.Static

app :: ApplicationM IO
app :: ApplicationM IO
app = Router' Void Void IO -> ApplicationM IO
forall (m :: * -> *) i.
(MonadIO m, MonadCatch m) =>
Router' i Void m -> ApplicationM m
serve Router' Void Void IO
api

api :: Router Void IO
api :: Router' Void Void IO
api = Router' Void Void IO -> Router' Void Void IO
"api" (Router' Void Void IO -> Router' Void Void IO)
-> Router' Void Void IO -> Router' Void Void IO
forall i ts (r :: * -> *).
(Router' i ts r -> Router' i ts r)
-> Router' i ts r -> Router' i ts r
/> Router' Void Void IO -> Router' Void Void IO
"static" (Router' Void Void IO -> Router' Void Void IO)
-> Router' Void Void IO -> Router' Void Void IO
forall i ts (r :: * -> *).
(Router' i ts r -> Router' i ts r)
-> Router' i ts r -> Router' i ts r
/> Map String MediaType
-> [(String, ByteString)] -> Router' Void Void IO
forall (m :: * -> *) i.
(Monad m, Introspection i 'Response StaticFileResponse) =>
Map String MediaType -> [(String, ByteString)] -> Router' i Void m
staticFiles Map String MediaType
defaultExtsMap [(String, ByteString)]
files
 where
  files :: [(String, ByteString)]
files =
    [ (String
"folder/data.json", ByteString
"{ \"key\": 1 }")
    , (String
"another/folder/data.csv", ByteString
"a;b;c\n1;2;3")
    ]