Skip to content

http patch: only buffer the top of the response #616

http patch: only buffer the top of the response

http patch: only buffer the top of the response #616

Triggered via pull request October 23, 2023 00:30
Status Success
Total duration 2m 8s
Artifacts

codeql-analysis.yml

on: pull_request
Matrix: Analyze
Fit to window
Zoom out
Zoom in

Annotations

18 warnings
use of `default` to create a unit struct: sse/src/lib.rs#L94
warning: use of `default` to create a unit struct --> sse/src/lib.rs:94:31 | 94 | event: PhantomData::default(), | ^^^^^^^^^^^ help: remove this call to `default` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_constructed_unit_structs = note: `#[warn(clippy::default_constructed_unit_structs)]` on by default
explicit call to `.into_iter()` in function argument accepting `IntoIterator`: proxy/src/lib.rs#L209
warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` --> proxy/src/lib.rs:209:29 | 209 | .extend(std::mem::take(client_conn.response_headers_mut()).into_iter()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing the `.into_iter()`: `std::mem::take(client_conn.response_headers_mut())` | note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` --> /rustc/1c05d50c8403c56d9a8b6fb871f15aaa26fb5d07/library/core/src/iter/traits/collect.rs:372:18 = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion = note: `#[warn(clippy::useless_conversion)]` on by default
the borrowed expression implements the required traits: client/src/conn.rs#L451
warning: the borrowed expression implements the required traits --> client/src/conn.rs:451:13 | 451 | &mut self.response_body_state, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.response_body_state` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default
docs for function which may panic missing `# Panics` section: trillium/src/conn.rs#L537
warning: docs for function which may panic missing `# Panics` section --> trillium/src/conn.rs:537:5 | 537 | pub fn into_inner<T: Transport>(self) -> trillium_http::Conn<T> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: first possible panic found here --> trillium/src/conn.rs:539:14 | 539 | *t.downcast() | ______________^ 540 | | .expect("attempted to downcast to the wrong transport type") | |____________________________________________________________________________^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc = note: `#[warn(clippy::missing_panics_doc)]` implied by `#[warn(clippy::pedantic)]`
item in documentation is missing backticks: trillium/src/conn.rs#L281
warning: item in documentation is missing backticks --> trillium/src/conn.rs:281:16 | 281 | Returns a [ReceivedBody] that references this `Conn`. The `Conn` | ^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown note: the lint level is defined here --> trillium/src/lib.rs:10:23 | 10 | #![warn(missing_docs, clippy::pedantic, clippy::nursery, clippy::cargo)] | ^^^^^^^^^^^^^^^^ = note: `#[warn(clippy::doc_markdown)]` implied by `#[warn(clippy::pedantic)]` help: try | 281 | Returns a [`ReceivedBody`] that references this `Conn`. The `Conn` | ~~~~~~~~~~~~~~
item in documentation is missing backticks: http/src/transport/boxed_transport.rs#L54
warning: item in documentation is missing backticks --> http/src/transport/boxed_transport.rs:54:18 | 54 | Create a new BoxedTransport from some Transport. | ^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 54 | Create a new `BoxedTransport` from some Transport. | ~~~~~~~~~~~~~~~~
matching over `()` is more explicit: http/src/headers/header_name.rs#L93
warning: matching over `()` is more explicit --> http/src/headers/header_name.rs:93:21 | 93 | Err(_) => UnknownHeader(UnknownHeaderName(SmartCow::Owned(SmartString::from(s)))), | ^ help: use `()` instead of `_`: `()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ignored_unit_patterns
docs for function which may panic missing `# Panics` section: http/src/state_set.rs#L75
warning: docs for function which may panic missing `# Panics` section --> http/src/state_set.rs:75:5 | 75 | / pub fn get_or_insert_with<F, T>(&mut self, default: F) -> &mut T 76 | | where 77 | | F: FnOnce() -> T, 78 | | T: Send + Sync + 'static, | |_________________________________^ | note: first possible panic found here --> http/src/state_set.rs:80:9 | 80 | / self.0 81 | | .entry(TypeId::of::<T>()) 82 | | .or_insert_with(|| Box::new(default())) 83 | | .downcast_mut() 84 | | .expect("StateSet maintains the invariant the value associated with a given TypeId is always the type associated with that TypeId.") | |________________________________________________________________________________________________________________________________________________^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
docs for function which may panic missing `# Panics` section: http/src/state_set.rs#L65
warning: docs for function which may panic missing `# Panics` section --> http/src/state_set.rs:65:5 | 65 | pub fn get_or_insert<T: Send + Sync + 'static>(&mut self, default: T) -> &mut T { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: first possible panic found here --> http/src/state_set.rs:66:9 | 66 | / self.0 67 | | .entry(TypeId::of::<T>()) 68 | | .or_insert_with(|| Box::new(default)) 69 | | .downcast_mut() 70 | | .expect("StateSet maintains the invariant the value associated with a given TypeId is always the type associated with that TypeId.") | |________________________________________________________________________________________________________________________________________________^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc = note: `#[warn(clippy::missing_panics_doc)]` implied by `#[warn(clippy::pedantic)]`
manual `Debug` impl does not include all fields: http/src/upgrade.rs#L99
warning: manual `Debug` impl does not include all fields --> http/src/upgrade.rs:99:1 | 99 | / impl<Transport> Debug for Upgrade<Transport> { 100 | | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { 101 | | f.debug_struct(&format!("Upgrade<{}>", std::any::type_name::<Transport>())) 102 | | .field("request_headers", &self.request_headers) ... | 110 | | } 111 | | } | |_^ | note: this field is unused --> http/src/upgrade.rs:32:5 | 32 | pub state: StateSet, | ^^^^^^^^^^^^^^^^^^^ note: this field is unused --> http/src/upgrade.rs:35:5 | 35 | pub transport: Transport, | ^^^^^^^^^^^^^^^^^^^^^^^^ note: this field is unused --> http/src/upgrade.rs:43:5 | 43 | pub stopper: Stopper, | ^^^^^^^^^^^^^^^^^^^^ = help: consider including all fields in this `Debug` impl = help: consider calling `.finish_non_exhaustive()` if you intend to ignore fields = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_fields_in_debug = note: `#[warn(clippy::missing_fields_in_debug)]` implied by `#[warn(clippy::pedantic)]`
matching over `()` is more explicit: http/src/synthetic.rs#L93
warning: matching over `()` is more explicit --> http/src/synthetic.rs:93:13 | 93 | fn from(_: ()) -> Self { | ^ help: use `()` instead of `_`: `()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ignored_unit_patterns = note: `#[warn(clippy::ignored_unit_patterns)]` implied by `#[warn(clippy::pedantic)]`
this function's return value is unnecessary: http/src/conn.rs#L802
warning: this function's return value is unnecessary --> http/src/conn.rs:802:5 | 802 | / fn write_headers(&mut self, output_buffer: &mut Vec<u8>) -> Result<()> { 803 | | let status = self.status().unwrap_or(Status::NotFound); 804 | | let first_line = format!( 805 | | "{} {} {}\r\n", ... | 828 | | Ok(()) 829 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_wraps = note: `#[warn(clippy::unnecessary_wraps)]` implied by `#[warn(clippy::pedantic)]` help: remove the return type... | 802 | fn write_headers(&mut self, output_buffer: &mut Vec<u8>) -> Result<()> { | ~~~~~~~~~~ help: ...and then remove returned values | 828 - Ok(()) 828 + |
item in documentation is missing backticks: http/src/conn.rs#L643
warning: item in documentation is missing backticks --> http/src/conn.rs:643:22 | 643 | processing in an after_send hook, please open an issue. This hook | ^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 643 | processing in an `after_send` hook, please open an issue. This hook | ~~~~~~~~~~~~
item in documentation is missing backticks: http/src/conn.rs#L441
warning: item in documentation is missing backticks --> http/src/conn.rs:441:5 | 441 | ReceivedBody provides an interface to read body content | ^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 441 | `ReceivedBody` provides an interface to read body content | ~~~~~~~~~~~~~~
item in documentation is missing backticks: http/src/conn.rs#L439
warning: item in documentation is missing backticks --> http/src/conn.rs:439:16 | 439 | returns a [ReceivedBody] that references this conn. the conn | ^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 439 | returns a [`ReceivedBody`] that references this conn. the conn | ~~~~~~~~~~~~~~
item in documentation is missing backticks: http/src/conn.rs#L423
warning: item in documentation is missing backticks --> http/src/conn.rs:423:18 | 423 | returns the [encoding_rs::Encoding] for this response, as | ^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 423 | returns the [`encoding_rs::Encoding`] for this response, as | ~~~~~~~~~~~~~~~~~~~~~~~
item in documentation is missing backticks: http/src/conn.rs#L407
warning: item in documentation is missing backticks --> http/src/conn.rs:407:18 | 407 | returns the [encoding_rs::Encoding] for this request, as | ^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown note: the lint level is defined here --> http/src/lib.rs:10:23 | 10 | #![warn(missing_docs, clippy::pedantic, clippy::perf, clippy::cargo)] | ^^^^^^^^^^^^^^^^ = note: `#[warn(clippy::doc_markdown)]` implied by `#[warn(clippy::pedantic)]` help: try | 407 | returns the [`encoding_rs::Encoding`] for this request, as | ~~~~~~~~~~~~~~~~~~~~~~~
the borrowed expression implements the required traits: http/src/conn.rs#L400
warning: the borrowed expression implements the required traits --> http/src/conn.rs:400:13 | 400 | &mut self.request_body_state, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.request_body_state` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default