pub fn maybe_set_content_md5_header(&mut self) {
        if self.headers.contains_key("Content-MD5") {
            return;
        }
        if let Some(SignedRequestPayload::Buffer(ref payload)) = self.payload {
            let digest = Md5::digest(payload);
            self.add_header("Content-MD5", &base64::encode(&*digest));
        }
    }
Computes and sets the Content-MD5 header based on the current payload.

Has no effect if the payload is not set, or is not a buffer. Will not
override an existing value for the `Content-MD5` header.
rusoto/signature/src/signature.rs