module Factis.Haskoon.RqAccess (RqAccess(..), FromRq(..)) where

import Control.Monad (MonadPlus)
import Control.Monad.Error ()

class MonadPlus m => RqAccess m where
    param :: String -> m String
    header :: String -> m String
    repl :: Int -> m String
    cookie :: String -> m String
    checkMethod :: (String -> Bool) -> m String

class FromRq a where
    fromRq :: RqAccess m => m a