Because the HTTP error might mean different things depending on where it happens; on authn request it means authentication error, elsewhere it might mean something else. 

Also I think it's a bad smell to expose exceptions from internals -- which RestClient is in our case. I believe we should build our own exception hierarchy so that API clients can tell exactly what went wrong without doing all the work to parse the exception and figurin out themselves something the API already knows.