24 lines
672 B
Haskell
24 lines
672 B
Haskell
module Data.HTTPSEverywhere.Rules.Internal.Types (
|
|
RuleSet(..),
|
|
Target(..),
|
|
Rule(..),
|
|
Exclusion(..),
|
|
CookieRule(..)
|
|
) where
|
|
|
|
import Data.Text (Text)
|
|
import Network.HTTP.Client (Cookie)
|
|
|
|
newtype Rule = Rule { getRule :: Text -> Maybe Text }
|
|
newtype Target = Target { getTarget :: Text -> Bool }
|
|
newtype Exclusion = Exclusion { getExclusion :: Text -> Bool }
|
|
newtype CookieRule = CookieRule { getCookieRule :: Cookie -> Bool }
|
|
|
|
data RuleSet = RuleSet
|
|
{ ruleSetName :: Text
|
|
, ruleSetTargets :: [Target]
|
|
, ruleSetRules :: [Rule]
|
|
, ruleSetExclusions :: [Exclusion]
|
|
, ruleSetCookieRules :: [CookieRule]
|
|
}
|