on develop help sign in
Updating storage example to use correct OAuth2 scope
baba589Brendan Hay
examples/src/Example/Storage.hs+7−5
@@ -11,23 +11,25 @@
11module Example.Storage where
11module Example.Storage where
12
12
13import Control.Lens
13import Control.Lens
14−import Data.Conduit.Binary
15import Data.Text (Text)
14import Data.Text (Text)
16import qualified Data.Text as Text
15import qualified Data.Text as Text
17import Network.Google
16import Network.Google
17+import Network.Google.Env
18import Network.Google.Storage
18import Network.Google.Storage
19+import Network.HTTP.Conduit
19import System.IO
20import System.IO
20
21
21example :: Text -> FilePath -> IO ()
22example :: Text -> FilePath -> IO ()
22example bkt f = do
23example bkt f = do
23− l <- newLogger Debug stdout
24+ l <- newLogger Debug stdout
25+ m <- newManager tlsManagerSettings
24− e <- newEnv Discover ["https://accounts.google.com"] <&> envLogger .~ l
26+ e <- newEnv Discover [cloudPlatformScope] <&> envLogger .~ l
27+ b <- sourceBody f
25
28
26 let key = Text.pack f
29 let key = Text.pack f
27− src = requestBodySourceChunked (sourceFile f)
28 obj = object' & objContentType ?~ "application/octet-stream"
30 obj = object' & objContentType ?~ "application/octet-stream"
29
31
30 runResourceT . runGoogle e $ do
32 runResourceT . runGoogle e $ do
31− _ <- upload (objectsInsert bkt obj & oiName ?~ key) src
33+ _ <- upload (objectsInsert bkt obj & oiName ?~ key) b
32 _ <- download (objectsGet bkt key)
34 _ <- download (objectsGet bkt key)
33 pure ()
35 pure ()