module Network.Wai.Application.Classic.Types where
import Data.ByteString (ByteString)
import qualified Data.ByteString.Lazy as BL (ByteString)
import Network.HTTP.Date
import Network.HTTP.Types
import Network.Wai.Logger.Prefork
data AppSpec = AppSpec {
softwareName :: ByteString
, indexFile :: ByteString
, isHTML :: ByteString -> Bool
, logger :: ApacheLogger
, getFileInfo :: ByteString -> IO (Maybe FileInfo)
}
data FileInfo = FileInfo {
fileInfoName :: FilePath
, fileInfoSize :: Integer
, fileInfoTime :: HTTPDate
}
data FileRoute = FileRoute {
fileSrc :: ByteString
, fileDst :: ByteString
}
data CgiRoute = CgiRoute {
cgiSrc :: ByteString
, cgiDst :: ByteString
}
data RspSpec = RspSpec {
rspStatus :: Status
, rspHeaders :: ResponseHeaders
, rspBody :: RspBody
}
data RspBody =
NoBody
| BodyLBS BL.ByteString
| BodyFile String Range
data Range =
Entire Integer
| Part Integer Integer