aboutsummaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
authorZeyla Hellyer <[email protected]>2017-12-03 13:48:37 -0800
committerZeyla Hellyer <[email protected]>2017-12-03 13:48:37 -0800
commitbc1870baa0ae1cf0f133c3f7009b11dab2c4f7b9 (patch)
tree2fdbdef751b2c67be6c7f6181a78d118b716cc43 /src/lib.rs
downloadoauth-bc1870baa0ae1cf0f133c3f7009b11dab2c4f7b9.tar.xz
oauth-bc1870baa0ae1cf0f133c3f7009b11dab2c4f7b9.zip
Initial commitHEADmaster
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs
new file mode 100644
index 0000000..9fd0556
--- /dev/null
+++ b/src/lib.rs
@@ -0,0 +1,45 @@
+//! # serenity-oauth
+//!
+//! `serenity-oauth` is a collection of HTTP library support bridges for
+//! interacting with the OAuth2 API that Discord uses.
+//!
+//! It includes support for sending code exchange requests and refresh token
+//! requests.
+//!
+//! Included are models in the [`model`] directory that represent request bodies
+//! and response bodies. The [`Scope`] enum represents possible OAuth2 scopes
+//! that can be granted.
+//!
+//! In the [`utils`] module, functions to produce authorization URLs are
+//! available. For example, [`utils::bot_authorization_url`] can be used to
+//! produce a URL that can be used to redirect users to authorize an application
+//! with the [`Scope::Bot`] scope.
+//!
+//! [`Scope`]: enum.Scope.html
+//! [`Scope::Bot`]: enum.Scope.html#variant.Bot
+//! [`model`]: model/
+//! [`utils`]: utils/
+//! [`utils::bot_authorization_url`]: utils/fn.bot_authorization_url.html
+
+#![deny(missing_docs)]
+
+#[macro_use] extern crate serde_derive;
+
+extern crate hyper;
+extern crate percent_encoding;
+extern crate serde;
+extern crate serde_json;
+extern crate serde_urlencoded;
+extern crate serenity_model;
+
+pub mod bridge;
+pub mod constants;
+pub mod model;
+pub mod utils;
+
+mod error;
+mod scope;
+
+pub use bridge::hyper::DiscordOAuthHyperRequester;
+pub use error::{Error, Result};
+pub use scope::Scope;