[refactor] Have the `upload` method use the same API signature as the `request` method.
[refactor] Make the `upload` method use the `request` API instead of duplicating code.