Skip to content

Commit e00dd8b

Browse files
committed
clippy
1 parent 4e1800c commit e00dd8b

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

src/render.rs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ pub struct HeaderContext {
3939
}
4040

4141
impl HeaderContext {
42+
#[must_use]
4243
pub fn new(
4344
app_state: Arc<AppState>,
4445
request_context: RequestContext,
@@ -64,7 +65,7 @@ impl HeaderContext {
6465
Some("http_header") => self.add_http_header(&data).map(PageContext::Header),
6566
Some("redirect") => self.redirect(&data).map(PageContext::Close),
6667
Some("json") => self.json(&data),
67-
Some("csv") => self.csv(&data),
68+
Some("csv") => self.csv(&data).await,
6869
Some("cookie") => self.add_cookie(&data).map(PageContext::Header),
6970
Some("authentication") => self.authentication(data).await,
7071
_ => self.start_body(data).await,
@@ -225,10 +226,10 @@ impl HeaderContext {
225226
}
226227
}
227228

228-
fn csv(mut self, data: &JsonValue) -> anyhow::Result<PageContext> {
229+
async fn csv(mut self, _data: &JsonValue) -> anyhow::Result<PageContext> {
229230
self.response
230231
.insert_header((header::CONTENT_TYPE, "text/csv"));
231-
let csv_renderer = CsvBodyRenderer::new(self.writer);
232+
let csv_renderer = CsvBodyRenderer::new(self.writer).await?;
232233
let renderer = AnyRenderBodyContext::Csv(csv_renderer);
233234
let http_response = self.response.take();
234235
Ok(PageContext::Body {
@@ -367,7 +368,7 @@ impl AnyRenderBodyContext {
367368
match self {
368369
AnyRenderBodyContext::Html(HtmlRenderContext { writer, .. })
369370
| AnyRenderBodyContext::Json(JsonBodyRenderer { writer, .. }) => {
370-
writer.async_flush().await?
371+
writer.async_flush().await?;
371372
}
372373
AnyRenderBodyContext::Csv(csv_renderer) => csv_renderer.flush().await?,
373374
}
@@ -456,11 +457,12 @@ pub struct CsvBodyRenderer {
456457
}
457458

458459
impl CsvBodyRenderer {
459-
pub fn new(writer: ResponseWriter) -> CsvBodyRenderer {
460-
CsvBodyRenderer {
460+
pub async fn new(mut writer: ResponseWriter) -> anyhow::Result<CsvBodyRenderer> {
461+
tokio::io::AsyncWriteExt::flush(&mut writer).await?;
462+
Ok(CsvBodyRenderer {
461463
writer: csv_async::AsyncWriter::from_writer(writer),
462464
is_first: true,
463-
}
465+
})
464466
}
465467

466468
pub async fn handle_row(&mut self, data: &JsonValue) -> anyhow::Result<()> {
@@ -473,7 +475,7 @@ impl CsvBodyRenderer {
473475
}
474476

475477
if let Some(obj) = data.as_object() {
476-
let values: Vec<_> = obj.values().map(|v| v.to_string()).collect();
478+
let values: Vec<_> = obj.values().map(std::string::ToString::to_string).collect();
477479
self.writer.write_record(&values).await?;
478480
}
479481

src/webserver/http.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,10 +123,10 @@ impl tokio::io::AsyncWrite for ResponseWriter {
123123
let capacity = self.response_bytes.max_capacity();
124124
let buffer = mem::take(&mut self.buffer);
125125
match self.get_mut().response_bytes.try_send(Ok(buffer.into())) {
126-
Ok(_) => std::task::Poll::Ready(Ok(())),
126+
Ok(()) => std::task::Poll::Ready(Ok(())),
127127
Err(e) => std::task::Poll::Ready(Err(std::io::Error::new(
128128
std::io::ErrorKind::WouldBlock,
129-
format!("{e}: Row limit exceeded. The server cannot store more than {} pending messages in memory. Try again later or increase max_pending_rows in the configuration.", capacity)
129+
format!("{e}: Row limit exceeded. The server cannot store more than {capacity} pending messages in memory. Try again later or increase max_pending_rows in the configuration.")
130130
)))
131131
}
132132
}

0 commit comments

Comments
 (0)