Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
run: cargo fmt --all -- --check

- name: Lint
run: cargo clippy --all -- -D warnings
run: cargo clippy --workspace --all-targets --all-features -- -D warnings

- name: Run tests
run: cargo test --all-features
4 changes: 2 additions & 2 deletions crates/rttp-client/src/connection/connection.rs
Original file line number Diff line number Diff line change
Expand Up @@ -943,7 +943,7 @@ impl<'a> Connection<'a> {
{
#[cfg(all(feature = "tls-native", feature = "tls-rustls"))]
{
return self.block_send_https_rustls_parts(url, stream);
self.block_send_https_rustls_parts(url, stream)
}
#[cfg(all(feature = "tls-native", not(feature = "tls-rustls")))]
{
Expand All @@ -967,7 +967,7 @@ impl<'a> Connection<'a> {
{
#[cfg(all(feature = "tls-native", feature = "tls-rustls"))]
{
return self.block_send_https_rustls_streaming_parts(url, stream, body);
self.block_send_https_rustls_streaming_parts(url, stream, body)
}
#[cfg(all(feature = "tls-native", not(feature = "tls-rustls")))]
{
Expand Down
1 change: 1 addition & 0 deletions crates/rttp-client/src/http2.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2652,6 +2652,7 @@ fn is_forbidden_response_trailer_name(name: &str) -> bool {
}

#[cfg(test)]
#[allow(clippy::items_after_test_module)]
mod tests {
use super::*;

Expand Down
2 changes: 1 addition & 1 deletion crates/rttp-client/src/request/builder/build_body_async.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ impl<'a> RawBuilder<'a> {
let file = formdata
.file()
.clone()
.ok_or(error::builder_with_message(&format!(
.ok_or(error::builder_with_message(format!(
"Missing file path for field: {}",
formdata.name()
)))?;
Expand Down
4 changes: 2 additions & 2 deletions crates/rttp-client/tests/test_http_basic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ fn test_multi() {
.header("User-Agent: Mozilla/5.0")
.header(("Host", addr.to_string().as_str()))
.para("name=Chico")
.para(&"name=文".to_string())
.para("name=文".to_string())
.para(para_map)
.form(("debug", "true", "name=Form"))
.cookie("token=123234")
Expand Down Expand Up @@ -1338,7 +1338,7 @@ fn captured_request(request: Vec<u8>) -> CapturedRequest {
.expect("captured request method")
.to_string();
let target = request_line_parts
.nth(0)
.next()
.expect("captured request target")
.to_string();
let headers = lines
Expand Down
5 changes: 2 additions & 3 deletions crates/rttp-protocol/src/cookie.rs
Original file line number Diff line number Diff line change
Expand Up @@ -251,13 +251,12 @@ mod tests {
assert!(HttpCookies::parse(&oversized_value).is_err());
assert!(HttpSetCookie::parse(&oversized_value).is_err());

let pairs = std::iter::repeat("name=value")
.take(MAX_COOKIE_COUNT + 1)
let pairs = std::iter::repeat_n("name=value", MAX_COOKIE_COUNT + 1)
.collect::<Vec<_>>()
.join(";");
assert!(HttpCookies::parse(&pairs).is_err());

let fields = std::iter::repeat("name=value").take(MAX_COOKIE_COUNT + 1);
let fields = std::iter::repeat_n("name=value", MAX_COOKIE_COUNT + 1);
assert!(HttpSetCookies::parse_values(fields).is_err());
}

Expand Down
7 changes: 3 additions & 4 deletions crates/rttp-test-support/src/client_helpers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -199,13 +199,15 @@ impl GatedResponseBody {
self.partial_body_sent.recv_timeout(timeout)
}

#[allow(clippy::result_unit_err)]
pub fn release_body(&self) -> Result<(), ()> {
self
.control
.send(GatedResponseBodyControl::Release)
.map_err(|_| ())
}

#[allow(clippy::result_unit_err)]
pub fn cancel_body(&self) -> Result<(), ()> {
self
.control
Expand Down Expand Up @@ -937,10 +939,7 @@ pub fn spawn_auth_echo_server() -> (SocketAddr, JoinHandle<()>) {
if let Ok((mut stream, _)) = listener.accept() {
let mut request = Vec::new();
let mut buf = [0u8; 1024];
loop {
let Ok(read) = stream.read(&mut buf) else {
break;
};
while let Ok(read) = stream.read(&mut buf) {
if read == 0 {
break;
}
Expand Down
5 changes: 1 addition & 4 deletions crates/rttp-test-support/src/local_http.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,7 @@ pub fn read_http_request<R: Read>(stream: &mut R) -> Vec<u8> {
let mut buf = [0u8; 1024];
let mut content_length = None;

loop {
let Ok(read) = stream.read(&mut buf) else {
break;
};
while let Ok(read) = stream.read(&mut buf) {
if read == 0 {
break;
}
Expand Down
6 changes: 2 additions & 4 deletions crates/rttp/tests/http11_compliance_matrix.rs
Original file line number Diff line number Diff line change
Expand Up @@ -646,8 +646,7 @@ fn server_response_with_retry_after_coexists_with_cache_metadata_helpers() {
.expect("Vary should parse")
.expect("Vary should be present")
.field_names()
.iter()
.any(|name| *name == "accept-encoding"));
.contains(&"accept-encoding"));
}

#[test]
Expand Down Expand Up @@ -860,8 +859,7 @@ fn server_response_with_allow_coexists_with_cache_and_retry_metadata_helpers() {
.expect("Vary should parse")
.expect("Vary should be present")
.field_names()
.iter()
.any(|name| *name == "accept-encoding"));
.contains(&"accept-encoding"));
assert_eq!(
Some(HttpRetryAfter::DeltaSeconds(30)),
response.retry_after().expect("Retry-After should parse")
Expand Down
2 changes: 1 addition & 1 deletion crates/rttp/tests/http2_feature.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2334,7 +2334,7 @@ fn prior_knowledge_server_policy_advertises_and_enforces_frame_and_metadata_boun

write_h2_frame(&mut stream, H2_FRAME_SETTINGS, H2_FLAG_ACK, 0, &[]);
let mut headers = h2_head_headers(b"/policy", addr.to_string().as_bytes());
headers.extend(h2_literal_new_name(b"x-policy-limit", &vec![b'x'; 100]));
headers.extend(h2_literal_new_name(b"x-policy-limit", &[b'x'; 100]));
write_h2_frame(
&mut stream,
H2_FRAME_HEADERS,
Expand Down
10 changes: 5 additions & 5 deletions tests/http11_client_server_matrix.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ use rttp_server::server::{
};
use rttp_test_support as fixtures;

type ObservedIfRangeHeaders = (Option<String>, Option<String>);
type ObservedIfRangeHandle = thread::JoinHandle<ObservedIfRangeHeaders>;

fn client() -> HttpClient {
HttpClient::new()
}
Expand Down Expand Up @@ -338,10 +341,7 @@ fn spawn_range_server() -> (std::net::SocketAddr, thread::JoinHandle<Option<Stri

fn spawn_if_range_server(
metadata: HttpConditionalMetadata,
) -> (
std::net::SocketAddr,
thread::JoinHandle<(Option<String>, Option<String>)>,
) {
) -> (std::net::SocketAddr, ObservedIfRangeHandle) {
let server = rttp_server::server::HttpServer::bind("127.0.0.1:0").expect("bind if-range server");
let addr = server.local_addr().expect("if-range server addr");
let (tx, rx) = mpsc::channel();
Expand Down Expand Up @@ -828,7 +828,7 @@ fn assert_observed_range(
}

fn assert_observed_if_range(
handle: thread::JoinHandle<(Option<String>, Option<String>)>,
handle: ObservedIfRangeHandle,
expected_range: &str,
expected_if_range: &str,
name: &str,
Expand Down