diff --git a/core/src/services/cos/backend.rs b/core/src/services/cos/backend.rs index de7f6eb6594c..4bbb658c8f48 100644 --- a/core/src/services/cos/backend.rs +++ b/core/src/services/cos/backend.rs @@ -326,7 +326,16 @@ impl Access for CosBackend { let status = resp.status(); match status { - StatusCode::OK => parse_into_metadata(path, resp.headers()).map(RpStat::new), + StatusCode::OK => { + let headers = resp.headers(); + let mut meta = parse_into_metadata(path, headers)?; + + if let Some(v) = parse_header_to_str(headers, "x-cos-version-id")? { + meta.set_version(v); + } + + Ok(RpStat::new(meta)) + } _ => Err(parse_error(resp)), } }