on master help sign in
Merge pull request #142 from ilyakooo0/develop

Develop

commit30038c0d4af56c661e12c69ebbd98ae9854a1386 authoriko <ilyakooo0@gmail.com> dateTue 14 May 2019, 01:22 (7 years ago) parentdcb6e84515d682
3 files changed+11−23
Procfile+1−1 denis/src/Data/Limits.hs+5−2 denis/src/Data/Text/Validator.hs+5−20
Procfile+1−1
@@ -1 +1 @@
1−web: denis-exe +RTS -N -T
1+web: denis-exe +RTS -N
denis/src/Data/Limits.hs+5−2
@@ -14,7 +14,7 @@ maxMessageLimitName :: Int
1414maxMessageLimitName = 60
1515
1616postElementLengthLimit :: Int
17−postElementLengthLimit = 10000
17+postElementLengthLimit = 35000
1818
1919userFieldLengthLimit :: Int
2020userFieldLengthLimit = 50
@@ -26,4 +26,7 @@ channelCountLimit :: Int64
2626channelCountLimit = 128
2727
2828listLimit :: Int
29−listLimit = 100
29+listLimit = 100
30+
31+globalTextLimit :: Int
32+globalTextLimit = 50000
denis/src/Data/Text/Validator.hs+5−20
@@ -12,8 +12,11 @@ module Data.Text.Validator (
1212
1313import qualified Data.Text as T
1414import Data.Char
15+import Data.Limits
1516
1617isValidChar :: Char -> Bool
18+isValidChar '\n' = True
19+isValidChar '\r' = True
1720isValidChar = isPrint
1821
1922class HasValidatableText t where
@@ -29,16 +32,6 @@ instance (HasValidatableText t) => HasValidatableText (ExtraPredicate t) where
2932 validateText (t `ExtraPredicate` p) = validateText t && p t
3033
3134
32−
33−-- instance (Traversable f) => HasValidatableText (RangeableText (ExtraPredicate (f String))) where
34−-- validateText ((t `ExtraPredicate` p) `RangeableText` lims) = p t && validateText (t `RangeableText` lims)
35−
36−-- instance HasValidatableText (RangeableText (ExtraPredicate (f T.Text))) where
37−-- validateText ((t `ExtraPredicate` p) `RangeableText` lims) = p t && validateText (t `RangeableText` lims)
38−
39−-- instance (Foldable f) => HasValidatableText (RangeableText (ExtraPredicate (f T.Text))) where
40−-- validateText ((t `ExtraPredicate` p) `RangeableText` lims) = p t && validateText (t `RangeableText` lims)
41−
4235infixl 5 ~<
4336(~<) :: t -> Int -> RangeableText t
4437t ~< n = t <~> (0, n)
@@ -59,16 +52,8 @@ instance HasValidatableText (RangeableText T.Text) where
5952 where
6053 len = T.length t
6154
62−-- instance HasValidatableText (RangeableText T.Text) where
63−-- validateText (t `RangeableText` (lower, upper)) = len >= lower && len <= upper
64−-- where
65−-- len = T.length t
66−
67−-- instance (Traversable t, HasValidatableText v) => HasValidatableText (t v) where
68−-- validateText = all validateText
69−
7055instance HasValidatableText T.Text where
71− validateText t = T.all isValidChar t && (not . T.null) t
56+ validateText t = T.all isValidChar t && (not . T.null) t && T.length t < globalTextLimit
7257
7358instance HasValidatableText String where
74− validateText t = all isValidChar t && length t > 0
59+ validateText t = all isValidChar t && length t > 0 && length t < globalTextLimit