There is no written specification about how to encode key names when url encoding type is passed. However, this change will encode URLs as url.QueryEscape() does while considering AWS S3 exceptions.