git.iko.soy/typeable/random-token
on master help sign in
Add delimited tokens
50de279Ville Tirronen
random-token.cabal+1−1
@@ -1,6 +1,6 @@
1cabal-version: 2.4
1cabal-version: 2.4
2name: random-token
2name: random-token
3−version: 0.1.0.0
3+version: 0.1.1.0
4synopsis: Implementation of random token generation and parsing
4synopsis: Implementation of random token generation and parsing
5author: typeable.io
5author: typeable.io
6maintainer: s9gf4ult@gmail.com
6maintainer: s9gf4ult@gmail.com
src/Random/Token.hs+7
@@ -9,6 +9,7 @@ module Random.Token
9 , tokenWithContents
9 , tokenWithContents
10#ifndef ghcjs_HOST_OS
10#ifndef ghcjs_HOST_OS
11 , generateToken
11 , generateToken
12+ , generateDelimitedToken
12#endif
13#endif
13 ) where
14 ) where
14
15
@@ -60,6 +61,12 @@ instance ToField (Token a) where
60generateToken :: (MonadRandom m) => m (Token a)
61generateToken :: (MonadRandom m) => m (Token a)
61generateToken = Token <$> R.getRandomBytes 16
62generateToken = Token <$> R.getRandomBytes 16
62
63
64+generateDelimitedToken :: (MonadRandom m) => Text -> Text -> m (Token a)
65+generateDelimitedToken prefix postFix =
66+ Token . (preBS <>) . (<> postBS) <$> R.getRandomBytes 16
67+ where
68+ preBS = T.encodeUtf8 prefix
69+ postBS = T.encodeUtf8 postFix
63#endif
70#endif
64
71
65instance FromHttpApiData (Token a) where
72instance FromHttpApiData (Token a) where