diff --git a/drop/PlayingWithParsers.purs b/drop/PlayingWithParsers.purs index 89fa04e..16dd9ad 100644 --- a/drop/PlayingWithParsers.purs +++ b/drop/PlayingWithParsers.purs @@ -102,16 +102,16 @@ render state should_be_disabled = (if true then (HP.enabled true) else (HP.disabled true)) -- test_domains :: Array String -> _ - test_domains doms = fold $ map tests_on_domain doms + test_domains doms = map tests_on_domain doms -- tests_on_domain :: String -> _ tests_on_domain d - = [ Bulma.strong $ d <> " -> [ldhstr, label, subdomain, domain]" - , p $ d <> " : ldhstr : " <> (show $ runParser d ldhstr) - , p $ d <> " : label : " <> (show $ runParser d label) - , p $ d <> " : subdomain : " <> (show $ runParser d subdomain) - , p $ d <> " : domain : " <> (show $ runParser d domain) - ] + = b [ Bulma.strong $ d <> " -> [ldhstr, label, subdomain, domain]" + , p $ d <> " : ldhstr : " <> (show $ runParser d ldhstr) + , p $ d <> " : label : " <> (show $ runParser d label) + , p $ d <> " : subdomain : " <> (show $ runParser d subdomain) + , p $ d <> " : domain : " <> (show $ runParser d domain) + ] aye :: Parser String Char aye = defer \_ -> char 'a' *> aye @@ -139,21 +139,24 @@ sub_eof = do sub <- subdomain -- TODO: optional "." at the end? eof - pure sub + if S.length sub > 255 + then fail $ "domain length is > 255 bytes (" <> show (S.length sub) <> ")" + else pure sub -- From RFC 1035: ::=