Well the second option seems file. The problem with rejecting with xhr is that we leek it out of adapter. The best solution would be probably to construct a generic error from xhr.

In my opinion there is several useful informations on xhr :

* status
* statusText
* responseText

We could build a kind of NetworkError out of it.