如何在Wai / Warp中为images / css / js服务器?

时间:2017-05-03 23:58:59

标签: haskell haskell-wai haskell-warp

我有这个简单的Wai / Warp应用程序

app :: Wai.Application
app req respond = respond $ case Wai.rawPathInfo req of
    "/" -> Wai.responseFile status200 [("Content-Type", "text/html")] "views/index.html" Nothing
    _ -> notFound


notFound :: Wai.Response
notFound = Wai.responseLBS status404 [("Content-Type", "text/plain")] "404 - Not Found"

main :: IO ()
main = do
    port <- getEnv "PORT"
    let setting = Warp.setPort (read port :: Int) Warp.defaultSettings
    putStrLn $ "start server on the port " ++ port
    Warp.runSettings setting app

如何添加文件夹&#34;图像&#34;到路线,以便任何图像我能够引用index.html中的任何图像作为&#34; images / something.jpg&#34;?我知道如何添加一个确切的路线,但在这里我需要添加一个完整的文件夹。

1 个答案:

答案 0 :(得分:0)

Network.Wai.Middleware.Static有一个staticPolicy fn,需要Policy并返回Middleware您可以添加到您的Wai应用中。 Policy将定义用户提供的URI如何映射到文件路径。查看addBase以构建Policy;这可能很适合您的需求。