module Network.Wai.Application.Classic.Types where
import Data.ByteString (ByteString)
import qualified Data.ByteString.Lazy as BL (ByteString)
import Network.HTTP.Types
import Network.Wai
data AppSpec = AppSpec {
softwareName :: ByteString
, indexFile :: ByteString
, isHTML :: ByteString -> Bool
, logger :: Request -> Status -> RspBody -> IO ()
}
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 ByteString Range
data Range =
Entire Integer
| Part Integer Integer