You might be able to use `createCanonicalRequest`, at first glance it seems it does a lot of the same stuff. I think most of this method should be moved to the `S3Signer`.