mirror of
https://github.com/OMGeeky/yup-oauth2.git
synced 2026-01-04 02:15:04 +01:00
fix(update-dependencies): rustup + dep-up
* updated to rustc (be9bd7c93 2015-04-05) * use latest hyper The latter required us to deal with HttpError not being clonable anymore.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
|
||||
name = "yup-oauth2"
|
||||
version = "0.3.1"
|
||||
version = "0.3.2"
|
||||
authors = ["Sebastian Thiel <byronimo@gmail.com>"]
|
||||
repository = "https://github.com/Byron/yup-oauth2"
|
||||
description = "A partial oauth2 implementation, providing the 'device' authorization flow"
|
||||
@@ -20,5 +20,5 @@ rustc-serialize = "*"
|
||||
|
||||
[dev-dependencies]
|
||||
getopts = "*"
|
||||
yup-hyper-mock = ">= 0.1.3"
|
||||
yup-hyper-mock = ">= 0.1.4"
|
||||
open = "*"
|
||||
|
||||
@@ -45,7 +45,7 @@ pub struct Scheme {
|
||||
}
|
||||
|
||||
impl hyper::header::Scheme for Scheme {
|
||||
fn scheme(_: Option<Scheme>) -> Option<&'static str> {
|
||||
fn scheme() -> Option<&'static str> {
|
||||
None
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ impl Token {
|
||||
}
|
||||
|
||||
/// All known authentication types, for suitable constants
|
||||
#[derive(Copy)]
|
||||
#[derive(Clone, Copy)]
|
||||
pub enum FlowType {
|
||||
/// [device authentication](https://developers.google.com/youtube/v3/guides/authentication#devices)
|
||||
Device,
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
use std::iter::IntoIterator;
|
||||
use std::time::Duration;
|
||||
use std::default::Default;
|
||||
use std::rc::Rc;
|
||||
|
||||
use hyper;
|
||||
use hyper::header::ContentType;
|
||||
@@ -61,7 +62,7 @@ pub struct PollInformation {
|
||||
#[derive(Clone)]
|
||||
pub enum RequestResult {
|
||||
/// Indicates connection failure
|
||||
Error(hyper::HttpError),
|
||||
Error(Rc<hyper::HttpError>),
|
||||
/// The OAuth client was not found
|
||||
InvalidClient,
|
||||
/// Some requested scopes were invalid. String contains the scopes as part of
|
||||
@@ -85,7 +86,7 @@ impl RequestResult {
|
||||
#[derive(Clone)]
|
||||
pub enum PollResult {
|
||||
/// Connection failure - retry if you think it's worth it
|
||||
Error(hyper::HttpError),
|
||||
Error(Rc<hyper::HttpError>),
|
||||
/// See `PollInformation`
|
||||
AuthorizationPending(PollInformation),
|
||||
/// indicates we are expired, including the expiration date
|
||||
@@ -98,7 +99,7 @@ pub enum PollResult {
|
||||
|
||||
impl Default for PollResult {
|
||||
fn default() -> PollResult {
|
||||
PollResult::Error(hyper::HttpError::HttpStatusError)
|
||||
PollResult::Error(Rc::new(hyper::HttpError::HttpStatusError))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,7 +167,7 @@ impl<C, NC> DeviceFlow<C, NC>
|
||||
.body(req.as_slice())
|
||||
.send() {
|
||||
Err(err) => {
|
||||
return RequestResult::Error(err);
|
||||
return RequestResult::Error(Rc::new(err));
|
||||
}
|
||||
Ok(mut res) => {
|
||||
|
||||
@@ -266,7 +267,7 @@ impl<C, NC> DeviceFlow<C, NC>
|
||||
.body(req.as_slice())
|
||||
.send() {
|
||||
Err(err) => {
|
||||
return PollResult::Error(err);
|
||||
return PollResult::Error(Rc::new(err));
|
||||
}
|
||||
Ok(mut res) => {
|
||||
let mut json_str = String::new();
|
||||
|
||||
@@ -133,7 +133,7 @@ impl<D, S, C, NC> Authenticator<D, S, C, NC>
|
||||
&self.secret.client_secret, scopes.iter());
|
||||
match res {
|
||||
RequestResult::Error(err) => {
|
||||
match self.delegate.connection_error(err) {
|
||||
match self.delegate.connection_error(&*err) {
|
||||
Retry::Abort => return None,
|
||||
Retry::After(d) => sleep(d),
|
||||
}
|
||||
@@ -154,7 +154,7 @@ impl<D, S, C, NC> Authenticator<D, S, C, NC>
|
||||
loop {
|
||||
match flow.poll_token() {
|
||||
PollResult::Error(err) => {
|
||||
match self.delegate.connection_error(err) {
|
||||
match self.delegate.connection_error(&*err) {
|
||||
Retry::Abort => return None,
|
||||
Retry::After(d) => sleep(d),
|
||||
}
|
||||
@@ -269,7 +269,7 @@ pub trait AuthenticatorDelegate {
|
||||
/// Called whenever there is an HttpError, usually if there are network problems.
|
||||
///
|
||||
/// Return retry information.
|
||||
fn connection_error(&mut self, hyper::HttpError) -> Retry {
|
||||
fn connection_error(&mut self, &hyper::HttpError) -> Retry {
|
||||
Retry::Abort
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#![feature(old_io, std_misc, core, hash)]
|
||||
#![feature(old_io, std_misc, core)]
|
||||
#![allow(deprecated)]
|
||||
//! This library can be used to acquire oauth2.0 authentication for services.
|
||||
//! At the time of writing, only one way of doing so is implemented, the [device flow](https://developers.google.com/youtube/v3/guides/authentication#devices), along with a flow
|
||||
@@ -68,11 +68,11 @@ extern crate hyper;
|
||||
#[macro_use]
|
||||
extern crate log;
|
||||
#[cfg(test)] #[macro_use]
|
||||
extern crate "yup-hyper-mock" as hyper_mock;
|
||||
extern crate yup_hyper_mock as hyper_mock;
|
||||
extern crate mime;
|
||||
extern crate url;
|
||||
extern crate itertools;
|
||||
extern crate "rustc-serialize" as rustc_serialize;
|
||||
extern crate rustc_serialize as rustc_serialize;
|
||||
|
||||
|
||||
mod device;
|
||||
|
||||
Reference in New Issue
Block a user