Description
I think this comes down to several things:
-
I think we should remove
HTTPAddress
. I understand why this class makes sense internally for connection management. However it complicates the API. I think most people expect to just use theURL
object (which the API technically also accepts). Understanding the differences between them at an API level is confusing, even more so because of: -
The HTTPRequestBuilder is confusing. It can accept a
String
path, aHTTPAddress
as well as aURL
. It is not obvious what is being set and needs to be set in all cases, particularly because when making a request with on in theHTTPClient
aHTTPAddress
must also be specified. But wait, was it not set earlier? Does it need to match? What if we are using aURL
?
I think the HTTP client should never accept the host, instead getting it either from a URL or the request. Allowing there never to be any confusion.