packages feed

iptadmin-1.3.3: src/IptAdmin/EditChainForm/Parse.hs

module IptAdmin.EditChainForm.Parse where

import Control.Monad
import Data.Char
import Iptables.Parser
import Text.ParserCombinators.Parsec.Char
import Text.ParserCombinators.Parsec.Combinator
import Text.ParserCombinators.Parsec.Prim hiding (State(..))

parseChainName :: GenParser Char () String
parseChainName = do
    spaces <?> ""
    name <- chainNameParser `label` "latin letter, digit, '_' or '-'"
    when (all isUpper name) $
        fail "Uppercase letters only is prohibited for chain name"
    spaces
    eof
    return name