From 84336260698c09d1125404d07bad372f788e6d63 Mon Sep 17 00:00:00 2001 From: Jamie Gaskins Date: Thu, 20 May 2021 21:25:59 -0400 Subject: [PATCH] Add S3#put_object with body : String --- src/s3.cr | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/s3.cr b/src/s3.cr index 852236d..d4f23a6 100644 --- a/src/s3.cr +++ b/src/s3.cr @@ -168,8 +168,18 @@ module AWS ) unless response.success? - raise Exception.new("S3 PutObject returned HTTP status #{response.status}") + raise Exception.new("S3 PutObject returned HTTP status #{response.status}: #{XML.parse(response.body).to_xml}") end + + response + end + + def put_object(bucket_name : String, key : String, headers : HTTP::Headers, body : String) + put_object bucket_name, + key: key, + headers: HTTP::Headers { "Content-Length" => body.bytesize.to_s } + .tap(&.merge!(headers)), + body: IO::Memory.new(body) end def delete_object(bucket_name : String, key : String)