From da83d1a820ace0a7b709f30b0dc8077ed216d50d Mon Sep 17 00:00:00 2001 From: Stephen Eckels Date: Sat, 28 Mar 2020 17:07:39 -0400 Subject: [PATCH] Change NormalizePath to append trailing slash --- src/middleware/normalize.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/middleware/normalize.rs b/src/middleware/normalize.rs index f6b834bfe..f8a7e7ffa 100644 --- a/src/middleware/normalize.rs +++ b/src/middleware/normalize.rs @@ -74,9 +74,13 @@ where fn call(&mut self, mut req: ServiceRequest) -> Self::Future { let head = req.head_mut(); - let path = head.uri.path(); + + // always add trailing slash, might be an extra one + let path = head.uri.path().to_string() + "/"; let original_len = path.len(); - let path = self.merge_slash.replace_all(path, "/"); + + // normalize multiple /'s to one / + let path = self.merge_slash.replace_all(&path, "/"); if original_len != path.len() { let mut parts = head.uri.clone().into_parts();