1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
//! # google-cloud-storage
//!
//! Google Cloud Platform Storage Client library.
//!
//! * [About Cloud Storage](https://cloud.google.com/storage/)
//! * [JSON API Documentation](https://cloud.google.com/storage/docs/json_api/v1)
//!
//! ## Quick Start
//!
//! ### Publish Message
//!
//! ```
//! use google_cloud_storage::client::Client;
//! use google_cloud_storage::http::Error;
//! use google_cloud_storage::sign::SignedURLOptions;
//! use google_cloud_storage::sign::SignedURLMethod;
//! use google_cloud_storage::http::objects::download::Range;
//! use google_cloud_storage::http::objects::get::GetObjectRequest;
//! use google_cloud_storage::http::objects::upload::UploadObjectRequest;
//! use tokio::task::JoinHandle;
//! use std::fs::File;
//! use std::io::BufReader;
//! use std::io::Read;
//!
//! #[tokio::main]
//! async fn main() -> Result<(), Error> {
//!
//! // Create client.
//! let mut client = Client::default().await.unwrap();
//!
//! // Upload the file
//! let uploaded = client.upload_object(&UploadObjectRequest {
//! bucket: "bucket".to_string(),
//! name: "file.png".to_string(),
//! ..Default::default()
//! }, "hello world".as_bytes(), "application/octet-stream", None).await;
//!
//! // Download the file
//! let data = client.download_object(&GetObjectRequest {
//! bucket: "bucket".to_string(),
//! object: "file.png".to_string(),
//! ..Default::default()
//! }, &Range::default(), None).await;
//!
//! // Create signed url.
//! let url_for_download = client.signed_url("bucket", "foo.txt", SignedURLOptions::default());
//! let url_for_upload = client.signed_url("bucket", "foo.txt", SignedURLOptions {
//! method: SignedURLMethod::PUT,
//! ..Default::default()
//! });
//! Ok(())
//! }
//! ```
extern crate core;
pub mod client;
pub mod http;
pub mod sign;