s3 api: parse x-id query parameter and warn of any inconsistency (fix #822)
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful

This commit is contained in:
Alex 2025-02-14 14:30:46 +01:00
parent 63f20bdeab
commit c1b39d9ba1

View file

@ -352,6 +352,18 @@ impl Endpoint {
_ => return Err(Error::bad_request("Unknown method")), _ => return Err(Error::bad_request("Unknown method")),
}; };
if let Some(x_id) = query.x_id.take() {
if x_id != res.name() {
// I think AWS ignores the x-id parameter.
// Let's make this at least be a warnin to help debugging.
warn!(
"x-id ({}) does not match parsed endpoint ({})",
x_id,
res.name()
);
}
}
if let Some(message) = query.nonempty_message() { if let Some(message) = query.nonempty_message() {
debug!("Unused query parameter: {}", message) debug!("Unused query parameter: {}", message)
} }
@ -696,7 +708,8 @@ generateQueryParameters! {
"uploadId" => upload_id, "uploadId" => upload_id,
"upload-id-marker" => upload_id_marker, "upload-id-marker" => upload_id_marker,
"versionId" => version_id, "versionId" => version_id,
"version-id-marker" => version_id_marker "version-id-marker" => version_id_marker,
"x-id" => x_id
] ]
} }