feat: options method return status 200

This commit is contained in:
sigoden 2022-06-12 09:33:01 +08:00
parent 471bca86c6
commit dd8b21f3a6
2 changed files with 3 additions and 5 deletions

View file

@ -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 {
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 {
.unwrap(),
);
res.headers_mut().insert("DAV", "1".parse().unwrap());
status!(res, StatusCode::NO_CONTENT);
}
async fn handle_propfind_dir(

View file

@ -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"