Yes. If the body isn't modified by the signing process (and it isn't, because we're either passing `None` or an already-formencoded string) it'll return whatever you give it. Same for the URL, because we're putting the signature in the header.

The only change `client.sign()` makes is adding the Authorization header to `headers`.