I understand the rationale for this series of changes and generally agree with it: the Bucket really ought to be specified as part of the endpoint rather than the path. 

With that said, I feel like this specific change is somewhat misleading. In the constructor for the client, the user provides the bucket they would like to use; should they fail to also include that in their endpoint specification, this parameter will essentially be ignored. Not only will this cause the authentication code to break, it'll end up issuing requests to nowhere. 

What might be better is that if the endpoint is not specified, the bucket should be prepended onto the beginning of the endpoint. Alternatively it could be included in the key as a path, or perhaps all endpoint specifications should go without the bucket and we prepend by default. 

Thoughts?