Browse Source

feat: options method return status 200

pull/40/head
sigoden 3 years ago
parent
commit
dd8b21f3a6
  1. 6
      src/server.rs
  2. 2
      tests/http.rs

6
src/server.rs

@ -210,7 +210,7 @@ impl InnerService { @@ -210,7 +210,7 @@ impl InnerService {
}
}
Method::OPTIONS => {
self.handle_method_options(&mut res);
self.handle_options(&mut res);
}
Method::PUT => {
if !allow_upload || (!allow_delete && is_file && size > 0) {
@ -549,7 +549,7 @@ impl InnerService { @@ -549,7 +549,7 @@ impl InnerService {
Ok(())
}
fn handle_method_options(&self, res: &mut Response) {
fn handle_options(&self, res: &mut Response) {
res.headers_mut().insert(
"Allow",
"GET,HEAD,PUT,OPTIONS,DELETE,PROPFIND,COPY,MOVE"
@ -557,8 +557,6 @@ impl InnerService { @@ -557,8 +557,6 @@ impl InnerService {
.unwrap(),
);
res.headers_mut().insert("DAV", "1".parse().unwrap());
status!(res, StatusCode::NO_CONTENT);
}
async fn handle_propfind_dir(

2
tests/http.rs

@ -129,7 +129,7 @@ fn head_file_404(server: TestServer) -> Result<(), Error> { @@ -129,7 +129,7 @@ fn head_file_404(server: TestServer) -> Result<(), Error> {
#[rstest]
fn options_dir(server: TestServer) -> Result<(), Error> {
let resp = fetch!(b"OPTIONS", format!("{}index.html", server.url())).send()?;
assert_eq!(resp.status(), 204);
assert_eq!(resp.status(), 200);
assert_eq!(
resp.headers().get("allow").unwrap(),
"GET,HEAD,PUT,OPTIONS,DELETE,PROPFIND,COPY,MOVE"

Loading…
Cancel
Save