From 8df480e750b73b18ab5752ac681a063ced2d344f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Asbj=C3=B8rn=20Sloth=20T=C3=B8nnesen?= Date: Mon, 1 Dec 2025 12:19:28 +0000 Subject: [PATCH] write_req: Close file after writing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When implementing advanced handlers, it is necessary to know when an upload is done, so further processing can start. The AsyncWrite trait has 3 methods: - poll_write() - poll_flush() - poll_close() Before this patch, poll_write() was called one or more times, so the writer didn't know when a transfer was complete. poll_flush() and poll_close() was never called. This patch flushes and closes the writer upon completion, causing both poll_flush() and poll_close() to be called on the writer. Signed-off-by: Asbjørn Sloth Tønnesen --- src/server/write_req.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/server/write_req.rs b/src/server/write_req.rs index 94180d0..3c12d5b 100644 --- a/src/server/write_req.rs +++ b/src/server/write_req.rs @@ -108,6 +108,9 @@ where } } + self.writer.flush().await?; + self.writer.close().await?; + Ok(()) }