Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- decode :: Maybe Salt -> SecretKeyBase -> Cookie -> Maybe RubyObject
- decodeEither :: Maybe Salt -> SecretKeyBase -> Cookie -> Either String RubyObject
- decrypt :: Maybe Salt -> SecretKeyBase -> Cookie -> Either String DecryptedData
- csrfToken :: RubyObject -> Maybe ByteString
- sessionId :: RubyObject -> Maybe ByteString
- lookupString :: ByteString -> RubyStringEncoding -> RubyObject -> Maybe ByteString
- lookupFixnum :: ByteString -> RubyStringEncoding -> RubyObject -> Maybe Int
- data Cookie
- mkCookie :: ByteString -> Cookie
- data Salt
- mkSalt :: ByteString -> Salt
- data SecretKeyBase
- mkSecretKeyBase :: ByteString -> SecretKeyBase
- data DecryptedData
- unwrapDecryptedData :: DecryptedData -> ByteString
Decoding
decode :: Maybe Salt -> SecretKeyBase -> Cookie -> Maybe RubyObject Source #
Decode a cookie encrypted by Rails.
decodeEither :: Maybe Salt -> SecretKeyBase -> Cookie -> Either String RubyObject Source #
Decode a cookie encrypted by Rails and retain some error information on failure.
Decrypting
decrypt :: Maybe Salt -> SecretKeyBase -> Cookie -> Either String DecryptedData Source #
Decrypts a cookie encrypted by Rails. Use this if you are using a serialisation format other than Ruby's Marshal format.
Utilities
csrfToken :: RubyObject -> Maybe ByteString Source #
Helper function for looking up the csrf token in a cooie.
sessionId :: RubyObject -> Maybe ByteString Source #
Helper function for looking up the session id in a cookie.
lookupString :: ByteString -> RubyStringEncoding -> RubyObject -> Maybe ByteString Source #
Lookup string for a given key and throw away encoding information.
lookupFixnum :: ByteString -> RubyStringEncoding -> RubyObject -> Maybe Int Source #
Lookup integer for a given key.
Lifting weaker types into stronger types
mkCookie :: ByteString -> Cookie Source #
Lift a cookie into a richer type.
mkSalt :: ByteString -> Salt Source #
Lift salt into a richer type.
data SecretKeyBase Source #
Wrapper around secret key base.
Instances
Eq SecretKeyBase Source # | |
Defined in Web.Rails.Session (==) :: SecretKeyBase -> SecretKeyBase -> Bool # (/=) :: SecretKeyBase -> SecretKeyBase -> Bool # | |
Ord SecretKeyBase Source # | |
Defined in Web.Rails.Session compare :: SecretKeyBase -> SecretKeyBase -> Ordering # (<) :: SecretKeyBase -> SecretKeyBase -> Bool # (<=) :: SecretKeyBase -> SecretKeyBase -> Bool # (>) :: SecretKeyBase -> SecretKeyBase -> Bool # (>=) :: SecretKeyBase -> SecretKeyBase -> Bool # max :: SecretKeyBase -> SecretKeyBase -> SecretKeyBase # min :: SecretKeyBase -> SecretKeyBase -> SecretKeyBase # | |
Show SecretKeyBase Source # | |
Defined in Web.Rails.Session showsPrec :: Int -> SecretKeyBase -> ShowS # show :: SecretKeyBase -> String # showList :: [SecretKeyBase] -> ShowS # |
mkSecretKeyBase :: ByteString -> SecretKeyBase Source #
Lifts secret into a richer type.
data DecryptedData Source #
Wrapper around data after it has been decrypted.
Instances
Eq DecryptedData Source # | |
Defined in Web.Rails.Session (==) :: DecryptedData -> DecryptedData -> Bool # (/=) :: DecryptedData -> DecryptedData -> Bool # | |
Ord DecryptedData Source # | |
Defined in Web.Rails.Session compare :: DecryptedData -> DecryptedData -> Ordering # (<) :: DecryptedData -> DecryptedData -> Bool # (<=) :: DecryptedData -> DecryptedData -> Bool # (>) :: DecryptedData -> DecryptedData -> Bool # (>=) :: DecryptedData -> DecryptedData -> Bool # max :: DecryptedData -> DecryptedData -> DecryptedData # min :: DecryptedData -> DecryptedData -> DecryptedData # | |
Show DecryptedData Source # | |
Defined in Web.Rails.Session showsPrec :: Int -> DecryptedData -> ShowS # show :: DecryptedData -> String # showList :: [DecryptedData] -> ShowS # |