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:
Sebastian Thiel
2015-04-07 10:35:25 +02:00
parent feba2d0e5a
commit 2489b81383
5 changed files with 16 additions and 15 deletions

View File

@@ -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 = "*"

View File

@@ -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,

View File

@@ -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();

View File

@@ -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
}

View File

@@ -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;