module Google.Cloud.Storage where
import Control.Monad
import Data.ByteString (ByteString)
import Data.Monoid
import Google.Cloud.Internal.Types
import Google.Cloud.Internal.HTTP
import Google.Cloud.Internal.Token
newtype Bucket = Bucket { unBucket :: String }
newtype Name = Name { unName :: String }
uploadMedia :: Bucket -> Name -> ByteString -> ByteString -> Cloud ()
uploadMedia bucket name body contentType = do
authH <- authorizationHeader
void $ post url [("Content-Type", contentType), authH] body
where
url = "https://www.googleapis.com/upload/storage/v1/b/" <> unBucket bucket <> "/o?uploadType=media&name=" <> unName name