hoauth2 1.8.0 → 1.8.1
raw patch · 2 files changed
+13/−3 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Network.OAuth.OAuth2.Internal: parseIntFlexible :: Value -> Parser Int
Files
- hoauth2.cabal +1/−1
- src/Network/OAuth/OAuth2/Internal.hs +12/−2
hoauth2.cabal view
@@ -1,6 +1,6 @@ Name: hoauth2 -- http://wiki.haskell.org/Package_versioning_policy-Version: 1.8.0+Version: 1.8.1 Synopsis: Haskell OAuth2 authentication client
src/Network/OAuth/OAuth2/Internal.hs view
@@ -14,10 +14,11 @@ import Control.Arrow (second) import Control.Monad.Catch import Data.Aeson+import Data.Aeson.Types (explicitParseFieldMaybe, Parser) import qualified Data.ByteString as BS import qualified Data.ByteString.Lazy as BSL import Data.Maybe-import Data.Text (Text, pack)+import Data.Text (Text, pack, unpack) import Data.Text.Encoding import GHC.Generics import Lens.Micro@@ -58,9 +59,18 @@ , idToken :: Maybe IdToken } deriving (Show, Generic) +parseIntFlexible :: Value -> Parser Int+parseIntFlexible (String s) = pure . read $ unpack s+parseIntFlexible v = parseJSON v+ -- | Parse JSON data into 'OAuth2Token' instance FromJSON OAuth2Token where- parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = camelTo2 '_' }+ parseJSON = withObject "OAuth2Token" $ \v -> OAuth2Token+ <$> v .: "access_token"+ <*> v .:? "refresh_token"+ <*> explicitParseFieldMaybe parseIntFlexible v "expires_in"+ <*> v .:? "token_type"+ <*> v .:? "id_token" instance ToJSON OAuth2Token where toJSON = genericToJSON defaultOptions { fieldLabelModifier = camelTo2 '_' } toEncoding = genericToEncoding defaultOptions { fieldLabelModifier = camelTo2 '_' }