Skip to content

Commit 3a79650

Browse files
committed
fix: upgrade dependencies and fix all errors
1 parent ac5d645 commit 3a79650

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+9911
-10332
lines changed

Cargo.toml

Lines changed: 36 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,24 @@
11
[package]
2-
name = "http-types"
3-
version = "3.0.0"
2+
name = "http-types-rs"
3+
version = "4.0.0"
44
license = "MIT OR Apache-2.0"
5-
repository = "https://github.com/http-rs/http-types"
6-
documentation = "https://docs.rs/http-types"
5+
repository = "https://github.com/OneOfone/http-types"
6+
documentation = "https://docs.rs/http-types-rs"
77
description = "Common types for HTTP operations."
88
keywords = ["http", "types", "request", "response", "h2"]
9-
categories = ["asynchronous", "web-programming", "web-programming::http-client", "web-programming::http-server", "web-programming::websocket"]
10-
authors = ["Yoshua Wuyts <[email protected]>"]
9+
categories = [
10+
"asynchronous",
11+
"web-programming",
12+
"web-programming::http-client",
13+
"web-programming::http-server",
14+
"web-programming::websocket",
15+
]
16+
authors = [
17+
"Yoshua Wuyts <[email protected]>",
18+
"Ahmed Mones <[email protected]>",
19+
]
1120
readme = "README.md"
12-
edition = "2018"
21+
edition = "2021"
1322

1423
[package.metadata.docs.rs]
1524
features = ["docs"]
@@ -24,34 +33,36 @@ async_std = ["fs"]
2433
cookies = ["cookie"]
2534
cookie-secure = ["cookies", "cookie/secure"]
2635
fs = ["async-std"]
27-
serde = ["serde_qs", "serde_crate", "serde_json", "serde_urlencoded", "url/serde"]
36+
serde = ["serde_qs", "dep:serde", "serde_json", "serde_urlencoded", "url/serde"]
2837

2938
[dependencies]
30-
fastrand = "1.4.0"
31-
base64 = "0.13.0"
32-
futures-lite = "1.11.1"
33-
async-channel = "1.5.1"
34-
infer = "0.7.0"
35-
pin-project-lite = "0.2.0"
36-
url = "2.1.1"
37-
anyhow = "1.0.26"
39+
fastrand = "2.0"
40+
base64 = "0.22"
41+
futures = "0.3"
42+
async-channel = "2.2"
43+
infer = "0.15"
44+
pin-project-lite = "0.2"
45+
url = "2.5"
46+
anyhow = "1.0"
3847

3948
# features: async_std
40-
async-std = { version = "1.6.0", optional = true }
49+
async-std = { version = "1.12", optional = true }
4150

4251
# features: hyperium/http
43-
http = { version = "0.2.0", optional = true }
52+
http = { version = "1.1", optional = true }
4453

4554
# features: cookies
46-
cookie = { version = "0.16.0", features = ["percent-encode"], optional = true }
55+
cookie = { version = "0.18", features = ["percent-encode"], optional = true }
4756

4857
# features: serde
49-
serde_json = { version = "1.0.51", optional = true }
50-
serde_crate = { version = "1.0.106", features = ["derive"], optional = true, package = "serde" }
51-
serde_urlencoded = { version = "0.7.0", optional = true}
52-
serde_qs = { version = "0.9.1", optional = true }
58+
serde_json = { version = "1.0", optional = true }
59+
serde = { version = "1.0", features = [
60+
"derive",
61+
], optional = true, package = "serde" }
62+
serde_urlencoded = { version = "0.7", optional = true }
63+
serde_qs = { version = "0.12", optional = true }
5364

5465

5566
[dev-dependencies]
56-
http = "0.2.0"
57-
async-std = { version = "1.6.0", features = ["attributes"] }
67+
http = "1.1"
68+
async-std = { version = "1.12", features = ["attributes"] }

rustfmt.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
hard_tabs = true
2+
reorder_imports = true
3+
max_width = 150

src/auth/authorization.rs

Lines changed: 86 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ use crate::headers::{Header, HeaderName, HeaderValue, Headers, AUTHORIZATION};
1111
/// # Examples
1212
///
1313
/// ```
14-
/// # fn main() -> http_types::Result<()> {
14+
/// # fn main() -> http_types_rs::Result<()> {
1515
/// #
16-
/// use http_types::Response;
17-
/// use http_types::auth::{AuthenticationScheme, Authorization};
16+
/// use http_types_rs::Response;
17+
/// use http_types_rs::auth::{AuthenticationScheme, Authorization};
1818
///
1919
/// let scheme = AuthenticationScheme::Basic;
2020
/// let credentials = "0xdeadbeef202020";
@@ -32,107 +32,99 @@ use crate::headers::{Header, HeaderName, HeaderValue, Headers, AUTHORIZATION};
3232
/// ```
3333
#[derive(Debug)]
3434
pub struct Authorization {
35-
scheme: AuthenticationScheme,
36-
credentials: String,
35+
scheme: AuthenticationScheme,
36+
credentials: String,
3737
}
3838

3939
impl Authorization {
40-
/// Create a new instance of `Authorization`.
41-
pub fn new(scheme: AuthenticationScheme, credentials: String) -> Self {
42-
Self {
43-
scheme,
44-
credentials,
45-
}
46-
}
47-
48-
/// Create a new instance from headers.
49-
pub fn from_headers(headers: impl AsRef<Headers>) -> crate::Result<Option<Self>> {
50-
let headers = match headers.as_ref().get(AUTHORIZATION) {
51-
Some(headers) => headers,
52-
None => return Ok(None),
53-
};
54-
55-
// If we successfully parsed the header then there's always at least one
56-
// entry. We want the last entry.
57-
let value = headers.iter().last().unwrap();
58-
59-
let mut iter = value.as_str().splitn(2, ' ');
60-
let scheme = iter.next();
61-
let credential = iter.next();
62-
let (scheme, credentials) = match (scheme, credential) {
63-
(None, _) => bail!(400, "Could not find scheme"),
64-
(Some(_), None) => bail!(400, "Could not find credentials"),
65-
(Some(scheme), Some(credentials)) => (scheme.parse()?, credentials.to_owned()),
66-
};
67-
68-
Ok(Some(Self {
69-
scheme,
70-
credentials,
71-
}))
72-
}
73-
74-
/// Get the authorization scheme.
75-
pub fn scheme(&self) -> AuthenticationScheme {
76-
self.scheme
77-
}
78-
79-
/// Set the authorization scheme.
80-
pub fn set_scheme(&mut self, scheme: AuthenticationScheme) {
81-
self.scheme = scheme;
82-
}
83-
84-
/// Get the authorization credentials.
85-
pub fn credentials(&self) -> &str {
86-
self.credentials.as_str()
87-
}
88-
89-
/// Set the authorization credentials.
90-
pub fn set_credentials(&mut self, credentials: String) {
91-
self.credentials = credentials;
92-
}
40+
/// Create a new instance of `Authorization`.
41+
pub fn new(scheme: AuthenticationScheme, credentials: String) -> Self {
42+
Self { scheme, credentials }
43+
}
44+
45+
/// Create a new instance from headers.
46+
pub fn from_headers(headers: impl AsRef<Headers>) -> crate::Result<Option<Self>> {
47+
let headers = match headers.as_ref().get(AUTHORIZATION) {
48+
Some(headers) => headers,
49+
None => return Ok(None),
50+
};
51+
52+
// If we successfully parsed the header then there's always at least one
53+
// entry. We want the last entry.
54+
let value = headers.iter().last().unwrap();
55+
56+
let mut iter = value.as_str().splitn(2, ' ');
57+
let scheme = iter.next();
58+
let credential = iter.next();
59+
let (scheme, credentials) = match (scheme, credential) {
60+
(None, _) => bail!(400, "Could not find scheme"),
61+
(Some(_), None) => bail!(400, "Could not find credentials"),
62+
(Some(scheme), Some(credentials)) => (scheme.parse()?, credentials.to_owned()),
63+
};
64+
65+
Ok(Some(Self { scheme, credentials }))
66+
}
67+
68+
/// Get the authorization scheme.
69+
pub fn scheme(&self) -> AuthenticationScheme {
70+
self.scheme
71+
}
72+
73+
/// Set the authorization scheme.
74+
pub fn set_scheme(&mut self, scheme: AuthenticationScheme) {
75+
self.scheme = scheme;
76+
}
77+
78+
/// Get the authorization credentials.
79+
pub fn credentials(&self) -> &str {
80+
self.credentials.as_str()
81+
}
82+
83+
/// Set the authorization credentials.
84+
pub fn set_credentials(&mut self, credentials: String) {
85+
self.credentials = credentials;
86+
}
9387
}
9488

9589
impl Header for Authorization {
96-
fn header_name(&self) -> HeaderName {
97-
AUTHORIZATION
98-
}
90+
fn header_name(&self) -> HeaderName {
91+
AUTHORIZATION
92+
}
9993

100-
fn header_value(&self) -> HeaderValue {
101-
let output = format!("{} {}", self.scheme, self.credentials);
94+
fn header_value(&self) -> HeaderValue {
95+
let output = format!("{} {}", self.scheme, self.credentials);
10296

103-
// SAFETY: the internal string is validated to be ASCII.
104-
unsafe { HeaderValue::from_bytes_unchecked(output.into()) }
105-
}
97+
// SAFETY: the internal string is validated to be ASCII.
98+
unsafe { HeaderValue::from_bytes_unchecked(output.into()) }
99+
}
106100
}
107101

108102
#[cfg(test)]
109103
mod test {
110-
use super::*;
111-
use crate::headers::Headers;
112-
113-
#[test]
114-
fn smoke() -> crate::Result<()> {
115-
let scheme = AuthenticationScheme::Basic;
116-
let credentials = "0xdeadbeef202020";
117-
let authz = Authorization::new(scheme, credentials.into());
118-
119-
let mut headers = Headers::new();
120-
authz.apply_header(&mut headers);
121-
122-
let authz = Authorization::from_headers(headers)?.unwrap();
123-
124-
assert_eq!(authz.scheme(), AuthenticationScheme::Basic);
125-
assert_eq!(authz.credentials(), credentials);
126-
Ok(())
127-
}
128-
129-
#[test]
130-
fn bad_request_on_parse_error() {
131-
let mut headers = Headers::new();
132-
headers
133-
.insert(AUTHORIZATION, "<nori ate the tag. yum.>")
134-
.unwrap();
135-
let err = Authorization::from_headers(headers).unwrap_err();
136-
assert_eq!(err.status(), 400);
137-
}
104+
use super::*;
105+
use crate::headers::Headers;
106+
107+
#[test]
108+
fn smoke() -> crate::Result<()> {
109+
let scheme = AuthenticationScheme::Basic;
110+
let credentials = "0xdeadbeef202020";
111+
let authz = Authorization::new(scheme, credentials.into());
112+
113+
let mut headers = Headers::new();
114+
authz.apply_header(&mut headers);
115+
116+
let authz = Authorization::from_headers(headers)?.unwrap();
117+
118+
assert_eq!(authz.scheme(), AuthenticationScheme::Basic);
119+
assert_eq!(authz.credentials(), credentials);
120+
Ok(())
121+
}
122+
123+
#[test]
124+
fn bad_request_on_parse_error() {
125+
let mut headers = Headers::new();
126+
headers.insert(AUTHORIZATION, "<nori ate the tag. yum.>").unwrap();
127+
let err = Authorization::from_headers(headers).unwrap_err();
128+
assert_eq!(err.status(), 400);
129+
}
138130
}

0 commit comments

Comments
 (0)