    module Network.Wai.Application.Classic.FileInfo where

    import Network.Wai
    import Network.Wai.Application.Classic.Path
    import Network.Wai.Application.Classic.Types

    ----------------------------------------------------------------

    pathinfoToFilePath :: Request -> FileRoute -> Path
    pathinfoToFilePath :: Request -> FileRoute -> Path
    pathinfoToFilePath Request
    req FileRoute
    filei = Path
    path'
      where
        path :: Path
    path = Request -> Path
    rawPathInfo Request
    req
        src :: Path
    src = FileRoute -> Path
    fileSrc FileRoute
    filei
        dst :: Path
    dst = FileRoute -> Path
    fileDst FileRoute
    filei
        path' :: Path
    path' = Path
    dst Path -> Path -> Path
    </> (Path
    path Path -> Path -> Path
    <\> Path
    src) -- fixme

    addIndex :: FileAppSpec -> Path -> Path
    addIndex :: FileAppSpec -> Path -> Path
    addIndex FileAppSpec
    spec Path
    path
      | Path -> Bool
    hasTrailingPathSeparator Path
    path = Path
    path Path -> Path -> Path
    </> FileAppSpec -> Path
    indexFile FileAppSpec
    spec
      | Bool
    otherwise                     = Path
    path

    redirectPath :: FileAppSpec -> Path -> Maybe Path
    redirectPath :: FileAppSpec -> Path -> Maybe Path
    redirectPath FileAppSpec
    spec Path
    path
      | Path -> Bool
    hasTrailingPathSeparator Path
    path = Maybe Path
    forall a. Maybe a
    Nothing
      | Bool
    otherwise                     = Path -> Maybe Path
    forall a. a -> Maybe a
    Just (Path
    path Path -> Path -> Path
    </> FileAppSpec -> Path
    indexFile FileAppSpec
    spec)