aboutsummaryrefslogtreecommitdiffstats
path: root/tests/serve_request.rs
diff options
context:
space:
mode:
authorNorberto Lopes <nlopes.ml@gmail.com>2023-08-04 16:00:11 +0000
committerNorberto Lopes <nlopes.ml@gmail.com>2023-08-06 08:34:08 +0000
commit1fd606031d018854d2b8d08d30863105567fcccc (patch)
treead263938cd57951c519f3351b7ca9d9a480c7f4f /tests/serve_request.rs
parentAdd CHANGELOG entry for #1191 (diff)
downloadminiserve-1fd606031d018854d2b8d08d30863105567fcccc.tar.gz
miniserve-1fd606031d018854d2b8d08d30863105567fcccc.zip
Add pretty urls
This adds a new flag namely `--pretty-urls` that when enabled will serve the equivalent `.html` if it exists. Very much the same approach that [`netlify` uses](https://docs.netlify.com/site-deploys/post-processing/). It can be quite useful when having hrefs like `/about` serve `/about.html`.
Diffstat (limited to '')
-rw-r--r--tests/serve_request.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/serve_request.rs b/tests/serve_request.rs
index e717525..ac4360e 100644
--- a/tests/serve_request.rs
+++ b/tests/serve_request.rs
@@ -268,6 +268,24 @@ fn serve_index_instead_of_404_in_spa_mode(
}
#[rstest]
+#[case(server_no_stderr(&["--pretty-urls", "--index", FILES[1]]), "/")]
+#[case(server_no_stderr(&["--pretty-urls", "--index", FILES[1]]), "test.html")]
+#[case(server_no_stderr(&["--pretty-urls", "--index", FILES[1]]), "test")]
+fn serve_file_instead_of_404_in_pretty_urls_mode(
+ #[case] server: TestServer,
+ #[case] url: &str,
+) -> Result<(), Error> {
+ let body = reqwest::blocking::get(format!("{}{}", server.url(), url))?.error_for_status()?;
+ let parsed = Document::from_read(body)?;
+ assert!(parsed
+ .find(|x: &Node| x.text() == "Test Hello Yes")
+ .next()
+ .is_some());
+
+ Ok(())
+}
+
+#[rstest]
#[case(server(&["--route-prefix", "foobar"]))]
#[case(server(&["--route-prefix", "/foobar/"]))]
fn serves_requests_with_route_prefix(#[case] server: TestServer) -> Result<(), Error> {