-b, --bind <addr>... Specify bind address
-p, --port <port> Specify port to listen on [default: 5000]
--path-prefix <path> Specify an url path prefix
- -a, --auth <user:pass> Use HTTP authentication
- --no-auth-access Not required auth when access static files
+ -a, --auth <rule>... Add auth for path
-A, --allow-all Allow all operations
--allow-upload Allow upload files/folders
--allow-delete Allow delete files/folders
--allow-symlink Allow symlink to files/folders outside root directory
+ --enable-cors Enable CORS, sets `Access-Control-Allow-Origin: *`
--render-index Render index.html when requesting a directory
--render-try-index Render index.html if it exists when requesting a directory
--render-spa Render for single-page application
- --cors Enable CORS, sets `Access-Control-Allow-Origin: *`
--tls-cert <path> Path to an SSL/TLS certificate to serve with HTTPS
--tls-key <path> Path to the SSL/TLS certificate's private key
-h, --help Print help information
The default render logic is:
-- If request for a folder, rendering the folder index listing.
+- If request for a folder, rendering the directory listing.
- If request for a file, rendering the file.
- If request target does not exist, returns 404.
The `--render-*` options change the render logic:
- `--render-index`: If request for a folder, rendering index.html in the folder. If the index.html file does not exist, return 404.
-- `--render-try-index`: Like `--render-index`, rendering the folder index listing if the index.html file does not exist, other than return 404.
+- `--render-try-index`: Like `--render-index`, rendering the directory listing if the index.html file does not exist, other than return 404.
- `--render-spa`: If request target does not exist, rendering `/index.html`
</details>
.long("allow-symlink")
.help("Allow symlink to files/folders outside root directory"),
)
+ .arg(
+ Arg::new("enable-cors")
+ .long("enable-cors")
+ .help("Enable CORS, sets `Access-Control-Allow-Origin: *`"),
+ )
.arg(
Arg::new("render-index")
.long("render-index")
.long("render-spa")
.help("Render for single-page application"),
)
- .arg(
- Arg::new("cors")
- .long("cors")
- .help("Enable CORS, sets `Access-Control-Allow-Origin: *`"),
- )
.arg(
Arg::new("tls-cert")
.long("tls-cert")
pub render_index: bool,
pub render_spa: bool,
pub render_try_index: bool,
- pub cors: bool,
+ pub enable_cors: bool,
pub tls: Option<(Vec<Certificate>, PrivateKey)>,
}
} else {
format!("/{}/", &path_prefix)
};
- let cors = matches.is_present("cors");
+ let enable_cors = matches.is_present("enable-cors");
let auth: Vec<&str> = matches
.values_of("auth")
.map(|v| v.collect())
path_prefix,
uri_prefix,
auth,
- cors,
+ enable_cors,
allow_delete,
allow_upload,
allow_symlink,
use rstest::rstest;
#[rstest]
-fn cors(#[with(&["--cors"])] server: TestServer) -> Result<(), Error> {
+fn cors(#[with(&["--enable-cors"])] server: TestServer) -> Result<(), Error> {
let resp = reqwest::blocking::get(server.url())?;
assert_eq!(
}
#[rstest]
-fn cors_options(#[with(&["--cors"])] server: TestServer) -> Result<(), Error> {
+fn cors_options(#[with(&["--enable-cors"])] server: TestServer) -> Result<(), Error> {
let resp = fetch!(b"OPTIONS", server.url()).send()?;
assert_eq!(