Invalid pseudo headers?

i am trying to interact with the AWS S3 API. sadly, it is not going too well, as i cannot even construct an HPACKHeaders instance to make this request:

let headers:HPACKHeaders =
[
    ":method": "PUT",
    ":path": path,
    ":authority": "\(bucket).s3.amazonaws.com",

    "authorization": authorization,

    "date": date,
    "host": "\(bucket).s3.amazonaws.com",
    "x-amz-content-sha256": "\(hash)",
    "x-amz-date": "\(timestamp.yyyymmddThhmmssZ)",
    "x-amz-storage-class": "REDUCED_REDUNDANCY",
]

i am catching an InvalidPseudoHeaders error. what am i doing wrong?

as it turns out, i was missing the [":scheme": "https"] header. wow!