@@ -27,6 +27,7 @@ module Network.Wai.Middleware.Rewrite
2727 -- ** Recommended functions
2828 , rewriteWithQueries
2929 , rewritePureWithQueries
30+ , rewriteRoot
3031
3132 -- ** Deprecated
3233 , rewrite
@@ -263,6 +264,19 @@ rewritePureWithQueries :: (PathsAndQueries -> H.RequestHeaders -> PathsAndQuerie
263264 -> Middleware
264265rewritePureWithQueries convert app req = app $ rewriteRequestPure convert req
265266
267+-- | Rewrite root requests (/) to a specified path
268+--
269+-- Note that /index.html/ in example below should already be a valid route.
270+--
271+-- @
272+-- rewriteRoot "index.html" :: Middleware
273+-- @
274+rewriteRoot :: Text -> Middleware
275+rewriteRoot root = rewritePureWithQueries onlyRoot
276+ where
277+ onlyRoot ([], q) _ = ([root], q)
278+ onlyRoot paths _ = paths
279+
266280--------------------------------------------------
267281-- * Modifying 'Request's directly
268282--------------------------------------------------