Skip to content

Commit 3d6c116

Browse files
authored
chore(deps): replace base64 with boring2::base64 (#910)
1 parent 16976b9 commit 3d6c116

2 files changed

Lines changed: 15 additions & 14 deletions

File tree

Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ system-proxy = ["dep:system-configuration", "dep:windows-registry"]
6767
tracing = ["http2/tracing", "dep:tracing"]
6868

6969
[dependencies]
70-
base64 = "0.22"
7170
url = "2.5.4"
7271
serde = { version = "1.0", features = ["derive"] }
7372
serde_urlencoded = "0.7.1"

src/util.rs

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,27 @@
1-
use std::fmt;
1+
use std::{fmt, fmt::Write};
22

33
use crate::header::{Entry, HeaderMap, HeaderValue, OccupiedEntry};
44

5-
pub fn basic_auth<U, P>(username: U, password: Option<P>) -> HeaderValue
5+
pub(crate) fn basic_auth<U, P>(username: U, password: Option<P>) -> HeaderValue
66
where
77
U: fmt::Display,
88
P: fmt::Display,
99
{
10-
use std::io::Write;
11-
12-
use base64::{prelude::BASE64_STANDARD, write::EncoderWriter};
13-
14-
let mut buf = b"Basic ".to_vec();
15-
{
16-
let mut encoder = EncoderWriter::new(&mut buf, &BASE64_STANDARD);
17-
let _ = write!(encoder, "{username}:");
10+
let encoded = {
11+
let mut buf = b"Basic ".to_vec();
12+
let mut buf_str = String::with_capacity(32);
13+
let _ = write!(buf_str, "{username}:");
1814
if let Some(password) = password {
19-
let _ = write!(encoder, "{password}");
15+
let _ = write!(buf_str, "{password}");
2016
}
21-
}
22-
let mut header = HeaderValue::from_bytes(&buf).expect("base64 is always valid HeaderValue");
17+
18+
let encoded = boring2::base64::encode_block(buf_str.as_bytes());
19+
buf.extend(encoded.into_bytes());
20+
buf
21+
};
22+
23+
let mut header =
24+
HeaderValue::from_maybe_shared(encoded).expect("base64 is always valid HeaderValue");
2325
header.set_sensitive(true);
2426
header
2527
}

0 commit comments

Comments
 (0)