diff options
author | trinity-1686a <trinity.pointard@gmail.com> | 2022-02-21 23:02:30 +0100 |
---|---|---|
committer | Alex <alex@adnab.me> | 2022-02-21 23:02:30 +0100 |
commit | f6f8b7f1ad865f629bdfd93ec1e28a526a5eab37 (patch) | |
tree | b80fef17e63b25c6ba73bb4463660f7356bcabd4 /src/api/s3_xml.rs | |
parent | e312ba977e2c99d3d0b3734f500369c3cd697d0d (diff) | |
download | garage-f6f8b7f1ad865f629bdfd93ec1e28a526a5eab37.tar.gz garage-f6f8b7f1ad865f629bdfd93ec1e28a526a5eab37.zip |
Support for PostObject (#222)
Add support for [PostObject](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)
- [x] routing PostObject properly
- [x] parsing multipart body
- [x] validating signature
- [x] validating policy
- [x] validating content length
- [x] actually saving data
Co-authored-by: trinity-1686a <trinity@deuxfleurs.fr>
Co-authored-by: Trinity Pointard <trinity.pointard@gmail.com>
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/222
Reviewed-by: Alex <alex@adnab.me>
Co-authored-by: trinity-1686a <trinity.pointard@gmail.com>
Co-committed-by: trinity-1686a <trinity.pointard@gmail.com>
Diffstat (limited to 'src/api/s3_xml.rs')
-rw-r--r-- | src/api/s3_xml.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/api/s3_xml.rs b/src/api/s3_xml.rs index 8a0dcee0..75ec4559 100644 --- a/src/api/s3_xml.rs +++ b/src/api/s3_xml.rs @@ -289,6 +289,20 @@ pub struct VersioningConfiguration { pub status: Option<Value>, } +#[derive(Debug, Serialize, PartialEq)] +pub struct PostObject { + #[serde(serialize_with = "xmlns_tag")] + pub xmlns: (), + #[serde(rename = "Location")] + pub location: Value, + #[serde(rename = "Bucket")] + pub bucket: Value, + #[serde(rename = "Key")] + pub key: Value, + #[serde(rename = "ETag")] + pub etag: Value, +} + #[cfg(test)] mod tests { use super::*; |