packages feed

gogol 0.4.0 → 0.5.0

raw patch · 7 files changed

+33/−32 lines, 7 filesdep ~gogol-corePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: gogol-core

API changes (from Hackage documentation)

- Network.Google: Body :: !MediaType -> !RequestBody -> Body
- Network.Google: data Body
+ Network.Google: GBody :: !MediaType -> !RequestBody -> GBody
+ Network.Google: data GBody
+ Network.Google.Auth: retrieveTokenFromStore :: (MonadIO m, MonadCatch m, AllowScopes s) => Store s -> Logger -> Manager -> m (OAuthToken s)
- Network.Google: bodyContentType :: Lens' Body MediaType
+ Network.Google: bodyContentType :: Lens' GBody MediaType
- Network.Google: sourceBody :: MonadIO m => FilePath -> m Body
+ Network.Google: sourceBody :: MonadIO m => FilePath -> m GBody
- Network.Google: upload :: (MonadGoogle s m, HasScope s (MediaUpload a), GoogleRequest (MediaUpload a)) => a -> Body -> m (Rs (MediaUpload a))
+ Network.Google: upload :: (MonadGoogle s m, HasScope s (MediaUpload a), GoogleRequest (MediaUpload a)) => a -> GBody -> m (Rs (MediaUpload a))
- Network.Google.Auth: retrieveAuthFromStore :: (MonadIO m, MonadCatch m, AllowScopes s) => Store s -> m (Auth s)
+ Network.Google.Auth: retrieveAuthFromStore :: (MonadIO m, AllowScopes s) => Store s -> m (Auth s)

Files

gogol.cabal view
@@ -1,5 +1,5 @@ name:                  gogol-version:               0.4.0+version:               0.5.0 synopsis:              Comprehensive Google Services SDK. homepage:              https://github.com/brendanhay/gogol bug-reports:           https://github.com/brendanhay/gogol/issues@@ -66,7 +66,7 @@         , directory            >= 1.2         , exceptions           >= 0.6         , filepath             >= 1.2-        , gogol-core           == 0.4.0.*+        , gogol-core           == 0.5.0.*         , http-client          >= 0.5 && < 1         , http-conduit         >= 2.3 && < 3         , http-media           >= 0.6
src/Network/Google.hs view
@@ -63,7 +63,7 @@     , download     , upload -    , Body        (..)+    , GBody        (..)     , bodyContentType      , sourceBody@@ -266,7 +266,7 @@           , GoogleRequest (MediaUpload a)           )        => a-       -> Body+       -> GBody        -> m (Rs (MediaUpload a)) upload x = send . MediaUpload x 
src/Network/Google/Auth.hs view
@@ -39,6 +39,7 @@     , Store     , initStore     , retrieveAuthFromStore+    , retrieveTokenFromStore      , Auth           (..)     , authToAuthorizedUser@@ -131,19 +132,22 @@ initStore c l m = exchange c l m >>= fmap Store . liftIO . newMVar  -- | Retrieve auth from storage-retrieveAuthFromStore :: (MonadIO m, MonadCatch m, AllowScopes s)-             => Store s-             -> m (Auth s)-retrieveAuthFromStore (Store s) = liftIO (readMVar s)+retrieveAuthFromStore+    :: (MonadIO m, AllowScopes s)+    => Store s+    -> m (Auth s)+retrieveAuthFromStore (Store s) =+    liftIO (readMVar s)  -- | Concurrently read the current token, and if expired, then -- safely perform a single serial refresh.-getToken :: (MonadIO m, MonadCatch m, AllowScopes s)-         => Store s-         -> Logger-         -> Manager-         -> m (OAuthToken s)-getToken (Store s) l m = do+retrieveTokenFromStore+    :: (MonadIO m, MonadCatch m, AllowScopes s)+    => Store s+    -> Logger+    -> Manager+    -> m (OAuthToken s)+retrieveTokenFromStore (Store s) l m = do     x  <- liftIO (readMVar s)     mx <- validate x     if mx@@ -193,7 +197,7 @@           -> Logger           -> Manager           -> m Client.Request-authorize rq s l m = bearer <$> getToken s l m+authorize rq s l m = bearer <$> retrieveTokenFromStore s l m   where     bearer t = rq         { Client.requestHeaders =
src/Network/Google/Auth/InstalledApplication.hs view
@@ -140,7 +140,7 @@  -- | Perform a refresh to obtain a valid 'OAuthToken' with a new expiry time. ----- /See:/ <https://developers.google.com/accounts/docs/OAuth2InstalledApp#refresh Refreshing tokens>.+-- /See:/ <https://developers.google.com/accounts/docs/OAuth2InstalledApp#offline Refreshing tokens>. refreshToken :: (MonadIO m, MonadCatch m)              => OAuthClient              -> (OAuthToken s)@@ -148,7 +148,7 @@              -> Manager              -> m (OAuthToken s) refreshToken c t = refreshRequest $-    accountsRequest+    tokenRequest         { Client.requestBody = textBody $                "grant_type=refresh_token"             <> "&client_id="     <> toQueryParam (_clientId     c)
src/Network/Google/Internal/Body.hs view
@@ -14,7 +14,7 @@ import           Data.Conduit.Binary    (sourceFile) import           Data.Maybe             (fromMaybe) import qualified Data.Text              as Text-import           Network.Google.Types   (Body (..))+import           Network.Google.Types   (GBody (..)) import           Network.HTTP.Conduit   (requestBodySource) import           Network.HTTP.Media     (MediaType, parseAccept, (//)) import qualified Network.Mime           as MIME@@ -35,13 +35,13 @@     . Text.takeWhileEnd (/= '/')     . Text.pack --- | Construct a 'Body' from a 'FilePath'.+-- | Construct a 'GBody' from a 'FilePath'. -- -- This uses 'getMIMEType' to calculate the MIME type from the file extension, -- you can use 'bodyContentType' to set a MIME type explicitly.-sourceBody :: MonadIO m => FilePath -> m Body+sourceBody :: MonadIO m => FilePath -> m GBody sourceBody f = do     n <- getFileSize f-    pure $ Body+    pure $ GBody         (getMIMEType f)         (requestBodySource (fromIntegral n) (sourceFile f))
src/Network/Google/Internal/HTTP.hs view
@@ -20,8 +20,7 @@ import Control.Monad.IO.Class       (MonadIO) import Control.Monad.Trans.Resource (MonadResource (..)) -import Data.Conduit (($$+-))-import Data.Monoid  (Dual (..), Endo (..), (<>))+import Data.Monoid (Dual (..), Endo (..), (<>))  import GHC.Exts (toList) @@ -34,8 +33,6 @@ import Network.HTTP.Media                (RenderHeader (..)) import Network.HTTP.Types -import qualified Data.ByteString.Lazy        as LBS-import qualified Data.Conduit.List           as Conduit import qualified Data.Text.Encoding          as Text import qualified Data.Text.Lazy              as LText import qualified Data.Text.Lazy.Builder      as Build@@ -128,11 +125,11 @@         err e = return (Left e)  getContent :: MonadIO m-           => [Body]+           => [GBody]            -> m ([Header] -> [Header], RequestBody)-getContent []         = pure (id, mempty)-getContent [Body t s] = pure (((hContentType, renderHeader t) :), s)-getContent bs         = do+getContent []          = pure (id, mempty)+getContent [GBody t s] = pure (((hContentType, renderHeader t) :), s)+getContent bs          = do     b <- genBoundary     pure ( (multipartHeader b :)          , renderParts b bs
src/Network/Google/Internal/Multipart.hs view
@@ -15,7 +15,7 @@ import qualified Data.ByteString                       as BS import           Data.ByteString.Builder.Extra         (byteStringCopy) import           Data.Monoid                           ((<>))-import           Network.Google.Types                  (Body (..))+import           Network.Google.Types                  (GBody (..)) import           Network.HTTP.Client import           Network.HTTP.Client.MultipartFormData (webkitBoundary) import           Network.HTTP.Media                    (RenderHeader (..))@@ -57,10 +57,10 @@ copy :: ByteString -> RequestBody copy bs = RequestBodyBuilder (fromIntegral (BS.length bs)) (byteStringCopy bs) -renderParts :: Boundary -> [Body] -> RequestBody+renderParts :: Boundary -> [GBody] -> RequestBody renderParts b = (<> part b) . foldMap go   where-    go (Body ct x) =+    go (GBody ct x) =            start b         <> copy "Content-Type: "            <> copy (renderHeader ct)