diff --git a/crates/wip-fs-server/src/server.rs b/crates/wip-fs-server/src/server.rs index d8ea4c4..d1a99a2 100644 --- a/crates/wip-fs-server/src/server.rs +++ b/crates/wip-fs-server/src/server.rs @@ -259,9 +259,14 @@ impl WipFsServer { fn metadata_error(&self, error: RequestMetadataError) -> Response> { match error { RequestMetadataError::NotFound => empty_response(StatusCode::NOT_FOUND), - RequestMetadataError::MethodNotAllowed => Response::builder() - .status(StatusCode::METHOD_NOT_ALLOWED) - .header(ALLOW, "POST") + error @ RequestMetadataError::MethodNotAllowed => Response::builder() + .status(error.status()) + .header( + ALLOW, + error + .allow() + .expect("method-not-allowed metadata has an Allow value"), + ) .body(Vec::new()) .expect("static method response is valid"), RequestMetadataError::UnsupportedMediaType => {