weavejester/clj-aws-s3 — pull request #16 by AlexBaranosky (2013-02-18 02:14:19+00:00)
Title: get UserMetadata in a get-object call

The changes here are these:

1) any user metadata added in a `put-object` call had to have a string key, which differed from any of the other metadata keys. Now it accepts keyword keys or string keys.
2) `get-object` did not expose the user metadata. Now any user metadata is added into the metadata map and keys are converted to keywords.

```clj
user> (put-object creds "csvs" "file1" "contents1" {:my-special-meta-data "downloaded"})
#
user> (pprint (get-object c "csvs" "file1"))
{:content
#,
:metadata
{:content-md5 nil,
:server-side-encryption nil,
:etag "4891e2a24026da4dea5b4119e1dc1863",
:cache-control nil,
:content-disposition nil,
:content-type "text/plain; charset=MacRoman",
:content-length 9,
:last-modified #,
:content-encoding nil,
:my-special-meta-data "downloaded"},
:bucket "csvs",
:key "file1"}
```