module Network.Wai.RequestSpec.Internal.Env.Types (
Env(..),
EnvMap,
Headers,
ParamMap,
QueryParams,
FormParams,
QParams,
FParams,
empty,
lookup,
fromList
) where
import Prelude hiding (lookup)
import Data.CaseInsensitive (CI)
import Data.Text (Text)
import qualified Data.Map as M
data QueryParams
data FormParams
type EnvMap k v = M.Map k v
type Headers = EnvMap (CI Text) Text
type ParamMap a = EnvMap Text (Maybe Text)
type QParams = ParamMap QueryParams
type FParams = ParamMap FormParams
data Env = Env { headers :: Headers
, qParams :: QParams
, fParams :: FParams
}
empty :: EnvMap k v
empty = M.empty
lookup :: (Ord k) => k -> EnvMap k v -> Maybe v
lookup = M.lookup
fromList :: (Ord k) => [(k,v)] -> EnvMap k v
fromList = M.fromList