packages feed

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 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 '_' }