refactor(header): Change to base64 serialize
Replace rustc-serialize with base64 crate. Closes #1028
This commit is contained in:
committed by
Sean McArthur
parent
0e332c66f2
commit
529ad564c3
@@ -12,6 +12,7 @@ keywords = ["http", "hyper", "hyperium"]
|
||||
categories = ["web-programming::http-client", "web-programming::http-server"]
|
||||
|
||||
[dependencies]
|
||||
base64 = "0.3.0"
|
||||
futures = "0.1.7"
|
||||
futures-cpupool = "0.1"
|
||||
httparse = "1.0"
|
||||
@@ -19,7 +20,6 @@ language-tags = "0.2"
|
||||
log = "0.3"
|
||||
mime = "0.2"
|
||||
relay = "0.1"
|
||||
rustc-serialize = "0.3"
|
||||
time = "0.1"
|
||||
tokio-core = "0.1"
|
||||
tokio-proto = "0.1"
|
||||
|
||||
@@ -2,7 +2,7 @@ use std::any::Any;
|
||||
use std::fmt::{self, Display};
|
||||
use std::str::{FromStr, from_utf8};
|
||||
use std::ops::{Deref, DerefMut};
|
||||
use serialize::base64::{ToBase64, FromBase64, Standard, Config, Newline};
|
||||
use base64::{encode, decode};
|
||||
use header::{Header, Raw};
|
||||
|
||||
/// `Authorization` header, defined in [RFC7235](https://tools.ietf.org/html/rfc7235#section-4.2)
|
||||
@@ -152,19 +152,15 @@ impl Scheme for Basic {
|
||||
if let Some(ref pass) = self.password {
|
||||
text.push_str(&pass[..]);
|
||||
}
|
||||
f.write_str(&text.as_bytes().to_base64(Config {
|
||||
char_set: Standard,
|
||||
newline: Newline::CRLF,
|
||||
pad: true,
|
||||
line_length: None
|
||||
})[..])
|
||||
|
||||
f.write_str(&encode(text.as_ref()))
|
||||
}
|
||||
}
|
||||
|
||||
impl FromStr for Basic {
|
||||
type Err = ::Error;
|
||||
fn from_str(s: &str) -> ::Result<Basic> {
|
||||
match s.from_base64() {
|
||||
match decode(s) {
|
||||
Ok(decoded) => match String::from_utf8(decoded) {
|
||||
Ok(text) => {
|
||||
let mut parts = &mut text.split(':');
|
||||
|
||||
@@ -21,7 +21,7 @@ extern crate httparse;
|
||||
#[macro_use] extern crate log;
|
||||
#[macro_use] pub extern crate mime;
|
||||
extern crate relay;
|
||||
extern crate rustc_serialize as serialize;
|
||||
extern crate base64;
|
||||
extern crate time;
|
||||
#[macro_use] extern crate tokio_core as tokio;
|
||||
extern crate tokio_proto;
|
||||
|
||||
Reference in New Issue
Block a user